Class FileStore

java.lang.Object
org.faceless.publisher.web.FileStore
All Implemented Interfaces:
Store

public class FileStore extends Object implements Store
An implementation of Store that writes to the file system
  • Constructor Details

    • FileStore

      public FileStore()
  • Method Details

    • setServiceEngine

      public void setServiceEngine(ServiceEngine engine)
      Description copied from interface: Store
      Set the ServiceEngine on this store. Called immediately after the constructor
      Specified by:
      setServiceEngine in interface Store
    • configure

      public void configure(Json json)
      Specified by:
      configure in interface Store
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clear

      public void clear()
      Description copied from interface: Store
      Clear the store of all data
      Specified by:
      clear in interface Store
    • shutdown

      public void shutdown()
      Description copied from interface: Store
      Prepare the Store for the ServiceEngine being shutdown
      Specified by:
      shutdown in interface Store
    • put

      public OutputStream put(String path, Json props, Authorization auth) throws IOException
      Description copied from interface: Store
      Save a file to the store. Return an OutputStream to write to. Props may contain: - content_type - expiry - if not null, the number of ms after the last access to delete the file. - panding - if false, the file is flushed on each write and any get should return an InputStream for what we have. Otherwise the returned stream is opened on the first write, and until that any "get" call returns PENDING. Props is live, and can be modified up until the point the returned OutputStream is closed. Any modifications to props before closing will be reflected in any subsequent "get" operations for object, and will be written to the store when the stream is finally closed. Props should be updated synchronized. Props should be set with "ok" to boolean indicating ok or not before error
      Specified by:
      put in interface Store
      Parameters:
      path - the path (required)
      Returns:
      an OutputStream which is opened on the first write.
      Throws:
      IOException - if the path already exists
    • get

      public InputStream get(String path, Json props, Authorization auth) throws IOException
      Description copied from interface: Store
      Retrieve a file from the store. Return an InputStream to read from, or null if it doesn't exist. Props may contain anything: and will be updated (ie set or the fields removed) with - name - the name of the path - ok - whether completion was ok - content_type - last_modified - length If no files in that folder can be read, an IOException("Unauthorized") will be thrown. It's a list containing items with at least name, and possibly contentType and length.
      Specified by:
      get in interface Store
      Parameters:
      path - the path (may be null);
      Throws:
      IOException
    • del

      public boolean del(String path, Authorization auth) throws IOException
      Description copied from interface: Store
      Delete from the store. Props may contain anything The path may be null, if it is any files in that folder will be deleted with permission. If an OutputStreaam is currently open for that writer, any further writes to it will fail. If any files cannot be deleted, an IOException("Unauthorized") will be thrown.
      Specified by:
      del in interface Store
      Parameters:
      path - the path (may be null)
      Returns:
      true if a file was deleted, false otherwise
      Throws:
      IOException - if something went wrong