Class StreamContentLocation
- java.lang.Object
-
- org.pentaho.reporting.libraries.repository.stream.StreamContentLocation
-
- All Implemented Interfaces:
ContentEntity
,ContentLocation
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
Constructors Constructor Description StreamContentLocation(StreamRepository repository)
Creates a new stream-location.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ContentItem
createItem(String name)
Creates a new data item in the current location.ContentLocation
createLocation(String name)
This method always throws an exception, as stream-repositories cannot create sub-locations.boolean
delete()
Stream-repositories do not support the deletion of entries.boolean
exists(String name)
Checks, whether an content entity with the given name exists in this content location.Object
getAttribute(String domain, String key)
Stream-Repositories do not support attributes.Object
getContentId()
Returns a unique identifier.ContentEntity
getEntry(String name)
Returns the content entity with the given name.String
getName()
Returns the generic name of this location.ContentLocation
getParent()
Returns a reference to the parent location.Repository
getRepository()
Returns the current repository, to which tis entity belongs.ContentEntity[]
listContents()
Returns all content entities stored in this content-location.boolean
setAttribute(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
-
listContents
public ContentEntity[] listContents() throws ContentIOException
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.- Specified by:
listContents
in interfaceContentLocation
- Returns:
- the content entities for this location.
- Throws:
ContentIOException
- if an repository error occured.
-
getEntry
public ContentEntity getEntry(String name) throws ContentIOException
Returns the content entity with the given name. If the entity does not exist, an Exception will be raised.- Specified by:
getEntry
in interfaceContentLocation
- 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.
-
createItem
public ContentItem createItem(String name) throws ContentCreationException
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.- Specified by:
createItem
in interfaceContentLocation
- 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) throws ContentCreationException
This method always throws an exception, as stream-repositories cannot create sub-locations.- Specified by:
createLocation
in interfaceContentLocation
- Parameters:
name
- the name.- Returns:
- nothing.
- Throws:
ContentCreationException
- always, as stream-repositories cannot create sub-locations.
-
exists
public boolean exists(String name)
Checks, whether an content entity with the given name exists in this content location.- Specified by:
exists
in interfaceContentLocation
- Parameters:
name
- the name of the new entity.- Returns:
- true, if an entity exists with this name, false otherwise.
-
getName
public String getName()
Returns the generic name of this location.- Specified by:
getName
in interfaceContentEntity
- Returns:
- the name.
-
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.- Specified by:
getContentId
in interfaceContentEntity
- Returns:
- the unique content ID.
-
getAttribute
public Object getAttribute(String domain, String key)
Stream-Repositories do not support attributes.- Specified by:
getAttribute
in interfaceContentEntity
- Parameters:
domain
- the attribute domain.key
- the name of the attribute.- Returns:
- always null.
-
setAttribute
public boolean setAttribute(String domain, String key, Object value)
Stream-Repositories do not support attributes.- Specified by:
setAttribute
in interfaceContentEntity
- Parameters:
domain
- the attribute domain.key
- the attribute namevalue
- the new attribute value.- Returns:
- always false.
-
getParent
public ContentLocation getParent()
Returns a reference to the parent location. If this entity represents the root directory, this method will return null.- Specified by:
getParent
in interfaceContentEntity
- Returns:
- the parent or null, if this is the root-directory.
-
getRepository
public Repository getRepository()
Returns the current repository, to which tis entity belongs.- Specified by:
getRepository
in interfaceContentEntity
- Returns:
- the repository.
-
delete
public boolean delete()
Stream-repositories do not support the deletion of entries.- Specified by:
delete
in interfaceContentEntity
- Returns:
- always false.
-
-