org.pentaho.reporting.libraries.repository.file

Class FileContentEntity

public abstract class FileContentEntity extends Object implements ContentEntity, Serializable

A content-entity that uses a java.io.File as backend. The entity can read the SIZE_ATTRIBUTE and can read and write the VERSION_ATTRIBUTE.

Author: Thomas Morgner

Constructor Summary
protected FileContentEntity(ContentLocation parent, File backend)
Creates a new content-entity for the given file using the given content location as parent.
protected FileContentEntity(Repository repository, File backend)
Creates a new root content-entity for the given file using the given content location as parent.
Method Summary
booleandelete()
Attempts to delete the entity.
ObjectgetAttribute(String domain, String key)
Returns a attribute value for the given domain (namespace) and attribute-name.
protected FilegetBackend()
Returns the file that provides the backend of this entity.
ObjectgetContentId()
Returns a unique identifier.
StringgetName()
Returns the name of the file.
ContentLocationgetParent()
Returns a reference to the parent location.
RepositorygetRepository()
Returns the current repository, to which tis entity belongs.
booleansetAttribute(String domain, String key, Object value)
Updates the attribute value for the given attribute domain and name.

Constructor Detail

FileContentEntity

protected FileContentEntity(ContentLocation parent, File backend)
Creates a new content-entity for the given file using the given content location as parent.

Parameters: parent the content location representing the parent directory. backend the file representing this entity.

FileContentEntity

protected FileContentEntity(Repository repository, File backend)
Creates a new root content-entity for the given file using the given content location as parent.

Parameters: repository the repository for which this entity is created. backend the file representing this entity.

Method Detail

delete

public boolean delete()
Attempts to delete the entity. After an entity has been deleted, any call to any of the methods of the entity may produce undefined results.

Returns: true, if the entity was deleted and detached from the repository, false otherwise.

getAttribute

public Object getAttribute(String domain, String key)
Returns a attribute value for the given domain (namespace) and attribute-name. Some generic attribute domains and names are defined as constants in the LibRepositoryBoot class.

Parameters: domain the attribute domain. key the name of the attribute.

Returns: the value or null, if the content-entity does not have a value for this attribute.

getBackend

protected File getBackend()
Returns the file that provides the backend of this entity.

Returns: the file, never 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.

getName

public String getName()
Returns the name of the file.

Returns: the name, never null.

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.

setAttribute

public boolean setAttribute(String domain, String key, Object value)
Updates the attribute value for the given attribute domain and name. If the element is not writable or the attribute could not be updated for any other reason, the method will return false. This method only returns true, if the attribute has been updated successfully.

Parameters: domain the attribute domain. key the attribute name value the new attribute value.

Returns: true, if the update was successful, false otherwise.