Class FileContentLocation

java.lang.Object
org.pentaho.reporting.libraries.repository.file.FileContentEntity
org.pentaho.reporting.libraries.repository.file.FileContentLocation
All Implemented Interfaces:
Serializable, ContentEntity, ContentLocation

public class FileContentLocation extends FileContentEntity implements ContentLocation
A content-location that uses a directory as backend.
Author:
Thomas Morgner
See Also:
  • Constructor Details

    • FileContentLocation

      public FileContentLocation(ContentLocation parent, File backend) throws ContentIOException
      Creates a new location for the given parent and directory.
      Parameters:
      parent - the parent location.
      backend - the backend.
      Throws:
      ContentIOException - if an error occured or the file did not point to a directory.
    • FileContentLocation

      public FileContentLocation(Repository repository, File backend) throws ContentIOException
      Creates a new root-location for the given repository and directory.
      Parameters:
      repository - the repository for which a location should be created.
      backend - the backend.
      Throws:
      ContentIOException - if an error occured or the file did not point to a directory.
  • Method Details

    • listContents

      public ContentEntity[] listContents() throws ContentIOException
      Lists all content entities stored in this content-location. This method filters out all files that have an invalid name (according to the repository rules).
      Specified by:
      listContents in interface ContentLocation
      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 interface ContentLocation
      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 interface ContentLocation
      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
      Creates a new content location 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:
      createLocation in interface ContentLocation
      Parameters:
      name - the name of the new entity.
      Returns:
      the newly created entity, never null.
      Throws:
      ContentCreationException - if the item could not be created.
    • exists

      public boolean exists(String name)
      Checks, whether an content entity with the given name exists in this content location. This method will report invalid filenames as non-existent.
      Specified by:
      exists in interface ContentLocation
      Parameters:
      name - the name of the new entity.
      Returns:
      true, if an entity exists with this name, false otherwise.