org.pentaho.reporting.libraries.repository.stream
Class StreamContentItem
public
class
StreamContentItem
extends Object
implements ContentItem
A stream-content item that wraps around the input and output streams given in the repository. Depending on which
stream are given, this item reports itself as read or writable.
Author: Thomas Morgner
Method Summary |
boolean | delete()
Stream-repositories do not support the deletion of entries.
|
Object | getAttribute(String domain, String key)
Stream-Repositories do not support attributes.
|
Object | getContentId()
Returns a unique identifier. |
InputStream | getInputStream()
Tries to open and return a input stream for reading from the content item. |
String | getMimeType()
Returns the mime type for the content entity. |
String | getName()
Returns the name of the entry.
|
OutputStream | getOutputStream()
Tries to open and return a output stream for writing into the content item. |
ContentLocation | getParent()
Returns a reference to the parent location. |
Repository | getRepository()
Returns the current repository, to which tis entity belongs.
|
boolean | isReadable()
Checks, whether the content item is readable. |
boolean | isWriteable()
Checks, whether the content item is writable. |
boolean | setAttribute(String domain, String key, Object value)
Stream-Repositories do not support attributes.
|
Creates a new stream-content item. The item will have the given name and parent and will wrap around the
provided streams.
Parameters: name the name of the content item. parent the parent location. inputStream the (optional) input stream. outputStream the (optional) output stream.
public boolean delete()
Stream-repositories do not support the deletion of entries.
Returns: always false.
public Object getAttribute(String domain, String key)
Stream-Repositories do not support attributes.
Parameters: domain the attribute domain. key the name of the attribute.
Returns: always null.
public Object getContentId()
Returns a unique identifier. This can be canonical filename or a database key. It must be guaranteed that
within the same repository the key will be unique.
Returns: the unique content ID.
public InputStream getInputStream()
Tries to open and return a input stream for reading from the content item. This call will fail if the
item is not readable. Whether opening multiple input streams at the same time is possible is implementation
dependent.
Having both an input and output stream open at the same time is not guaranteed to work. Generally if you need
to append data, first open the inputstream and copy the content to a temporary location and then write the
content along with the appended content to the new output stream.
Returns: the input stream for reading from the item.
Throws: ContentIOException if an repository related error prevents the creation of the input stream. IOException if an IO error occurs.
public String getMimeType()
Returns the mime type for the content entity. If the repository does not store mimetypes, this call usually
uses the repositories MimeRegistry to resolve the mimetype.
Returns: the mime type.
Throws: ContentIOException if an error occured.
public String getName()
Returns the name of the entry.
Returns: the name, never null.
public OutputStream getOutputStream()
Tries to open and return a output stream for writing into the content item. This call will fail if the
item is not writeable. Whether opening multiple output streams at the same time is possible is implementation
dependent, but it is generally not recommended to try this.
Having both an input and output stream open at the same time is not guaranteed to work. Generally if you need
to append data, first open the inputstream and copy the content to a temporary location and then write the
content along with the appended content to the new output stream.
Returns: the output stream for writing the item.
Throws: ContentIOException if an repository related error prevents the creation of the output stream. IOException if an IO error occurs.
Returns a reference to the parent location. If this entity represents the root directory, this method will
return null.
Returns: the parent or null, if this is the root-directory.
Returns the current repository, to which tis entity belongs.
Returns: the repository.
public boolean isReadable()
Checks, whether the content item is readable. A content item that is not readable will never return a valid
inputstream and any call to getInputStream is bound to fail.
Returns: true, if the content item is readable, false otherwise.
public boolean isWriteable()
Checks, whether the content item is writable. A content item that is not writable will never return a valid
outputstream and any call to getOutputStream is bound to fail.
Returns: true, if the content item is writeable, false otherwise.
public boolean setAttribute(String domain, String key, Object value)
Stream-Repositories do not support attributes.
Parameters: domain the attribute domain. key the attribute name value the new attribute value.
Returns: always false.