org.pentaho.reporting.libraries.repository.stream

Class StreamContentLocation

public class StreamContentLocation extends Object implements ContentLocation

A content location that wraps around a single stream. The location will reject any attempts to create new entities or to access entities other than the single entity.

Author: Thomas Morgner

Constructor Summary
StreamContentLocation(StreamRepository repository)
Creates a new stream-location.
Method Summary
ContentItemcreateItem(String name)
Creates a new data item in the current location.
ContentLocationcreateLocation(String name)
This method always throws an exception, as stream-repositories cannot create sub-locations.
booleandelete()
Stream-repositories do not support the deletion of entries.
booleanexists(String name)
Checks, whether an content entity with the given name exists in this content location.
ObjectgetAttribute(String domain, String key)
Stream-Repositories do not support attributes.
ObjectgetContentId()
Returns a unique identifier.
ContentEntitygetEntry(String name)
Returns the content entity with the given name.
StringgetName()
Returns the generic name of this location.
ContentLocationgetParent()
Returns a reference to the parent location.
RepositorygetRepository()
Returns the current repository, to which tis entity belongs.
ContentEntity[]listContents()
Returns all content entities stored in this content-location.
booleansetAttribute(String domain, String key, Object value)
Stream-Repositories do not support attributes.

Constructor Detail

StreamContentLocation

public StreamContentLocation(StreamRepository repository)
Creates a new stream-location. There can be only one location per stream-repository.

Parameters: repository the repository for which a location is created.

Method Detail

createItem

public ContentItem createItem(String name)
Creates a new data item in the current location. This method must never return null. This method will fail if an entity with the same name exists in this location.

Parameters: name the name of the new entity.

Returns: the newly created entity, never null.

Throws: ContentCreationException if the item could not be created.

createLocation

public ContentLocation createLocation(String name)
This method always throws an exception, as stream-repositories cannot create sub-locations.

Parameters: name the name.

Returns: nothing.

Throws: ContentCreationException always, as stream-repositories cannot create sub-locations.

delete

public boolean delete()
Stream-repositories do not support the deletion of entries.

Returns: always false.

exists

public boolean exists(String name)
Checks, whether an content entity with the given name exists in this content location.

Parameters: name the name of the new entity.

Returns: true, if an entity exists with this name, false otherwise.

getAttribute

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.

getContentId

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.

getEntry

public ContentEntity getEntry(String name)
Returns the content entity with the given name. If the entity does not exist, an Exception will be raised.

Parameters: name the name of the entity to be retrieved.

Returns: the content entity for this name, never null.

Throws: ContentIOException if an repository error occured.

getName

public String getName()
Returns the generic name of this location.

Returns: the name.

getParent

public ContentLocation getParent()
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.

getRepository

public Repository getRepository()
Returns the current repository, to which tis entity belongs.

Returns: the repository.

listContents

public ContentEntity[] listContents()
Returns all content entities stored in this content-location. This returns a array that has at most one entry. If the repository is a write-only repository and no item has been created yet, the method returns an empty array.

Returns: the content entities for this location.

Throws: ContentIOException if an repository error occured.

setAttribute

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.