Class FileContentEntity
- java.lang.Object
-
- org.pentaho.reporting.libraries.repository.file.FileContentEntity
-
- All Implemented Interfaces:
Serializable
,ContentEntity
- Direct Known Subclasses:
FileContentItem
,FileContentLocation
public abstract class FileContentEntity extends Object implements ContentEntity, Serializable
A content-entity that uses a java.io.File as backend. The entity can read theLibRepositoryBoot.SIZE_ATTRIBUTE
and can read and write theLibRepositoryBoot.VERSION_ATTRIBUTE
.- Author:
- Thomas Morgner
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
delete()
Attempts to delete the entity.Object
getAttribute(String domain, String key)
Returns a attribute value for the given domain (namespace) and attribute-name.protected File
getBackend()
Returns the file that provides the backend of this entity.Object
getContentId()
Returns a unique identifier.String
getName()
Returns the name of the file.ContentLocation
getParent()
Returns a reference to the parent location.Repository
getRepository()
Returns the current repository, to which tis entity belongs.boolean
setAttribute(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
-
getRepository
public Repository getRepository()
Returns the current repository, to which tis entity belongs.- Specified by:
getRepository
in interfaceContentEntity
- Returns:
- the repository.
-
getName
public String getName()
Returns the name of the file.- Specified by:
getName
in interfaceContentEntity
- Returns:
- the name, never null.
-
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.- Specified by:
getContentId
in interfaceContentEntity
- Returns:
- the unique content ID.
-
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 theLibRepositoryBoot
class.- Specified by:
getAttribute
in interfaceContentEntity
- 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.
-
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.- Specified by:
setAttribute
in interfaceContentEntity
- Parameters:
domain
- the attribute domain.key
- the attribute namevalue
- the new attribute value.- Returns:
- true, if the update was successful, false otherwise.
-
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.
-
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.- Specified by:
delete
in interfaceContentEntity
- Returns:
- true, if the entity was deleted and detached from the repository, false otherwise.
-
-