Changes between Initial Version and Version 1 of ApertureDataObjectFile


Ignore:
Timestamp:
10/20/05 13:31:30 (19 years ago)
Author:
sauermann
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ApertureDataObjectFile

    v1 v1  
     1{{{ 
     2#!java 
     3/** 
     4 * A general interface for data objects that have some Stream-based file content. These objects may 
     5 * be files on filesystems, web files received through http or emails stored in an email server. 
     6 * All methods of DataObject are inherited. Additional is the <b>binary content</b> and the  
     7 * handling of the stream. For the extraction, both the InputStream  
     8 * returned by getContent() and 
     9 * the RDF metadata returned by getMetadata() are important. 
     10 */ 
     11public interface DataObjectFile extends DataObject { 
     12 
     13        /** 
     14         * Returns the byte size of the represented resource. This has been defined at 
     15         * this global level due to the importance of this attribute for performance reasons. 
     16         * @return the size of the binary resource in bytes, or a negative value when the 
     17         * size is unknown or does not make sense for this particular DataObject implementation. 
     18         */ 
     19        public long getSize(); 
     20      
     21        /** 
     22         * Gets an InputStream containing the content represented by the DataObject. 
     23         * The returned InputStream is required to support marking (markSupported() 
     24         * returns true). Calling this method multiple times may references to 
     25         * one-and-the-same InputStream instance. Care should therefore be taken to mark 
     26         * and reset the stream when the stream's content is to be read again later. 
     27         *  
     28         * @return An InputStream from which the content of the data object can be read. 
     29         * @throws IOException If an I/O error occurred. 
     30         */ 
     31        public InputStream getContent() throws IOException; 
     32 
     33        /** 
     34         * Instructs the DataObject that its content stream will most likely be used multiple 
     35         * times in its entirety, making the mark-and-reset procedure difficult to work,  
     36         * and that it better should cache the entire contents. 
     37         * @throws IOException when an IOException occured during caching of the content. 
     38         */ 
     39 ´      public void cacheContent() throws IOException; 
     40     
     41        /** 
     42         * what is the mime-type of the content, if there is content? 
     43         * This is set by the DataAccessor 
     44         * @return null or a mimetype identifier like "text/plain" 
     45         */ 
     46        public String getContentMimeType(); 
     47 
     48        /** 
     49         * what is the character-encoding (using ansi identifiers like "UTF-8" 
     50         * or "ISO-8859-1") of the content, if there is content. Will  
     51         * return null if not known or if content is null. 
     52         * This is set by the DataAccessor 
     53         * @return null or a encoding identifier like "UTF-8" 
     54         */ 
     55        public String getContentEncoding(); 
     56} 
     57}}}