Class FSBackend

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String FS_BACKEND_PATH  
    • Constructor Summary

      Constructors 
      Constructor Description
      FSBackend()  
    • Field Detail

    • Constructor Detail

      • FSBackend

        public FSBackend()
    • Method Detail

      • read

        public java.io.InputStream read​(DataIdentifier identifier)
                                 throws DataStoreException
        Description copied from interface: SharedBackend
        Return inputstream of record identified by identifier.
        Parameters:
        identifier - identifier of record.
        Returns:
        inputstream of the record.
        Throws:
        DataStoreException - if record not found or any error.
      • write

        public void write​(DataIdentifier identifier,
                          java.io.File file)
                   throws DataStoreException
        Description copied from interface: SharedBackend
        Stores file to backend with identifier used as key. If key pre-exists, it updates the timestamp of the key.
        Parameters:
        identifier - key of the file
        file - file that would be stored in backend.
        Throws:
        DataStoreException - for any error.
      • exists

        public boolean exists​(DataIdentifier identifier)
                       throws DataStoreException
        Description copied from interface: SharedBackend
        This method check the existence of record in backend.
        Parameters:
        identifier - identifier to be checked.
        Returns:
        true if records exists else false.
        Throws:
        DataStoreException
      • addMetadataRecord

        public void addMetadataRecord​(java.io.InputStream input,
                                      java.lang.String name)
                               throws DataStoreException
        Description copied from interface: SharedBackend
        Adds a metadata record with the specified name
        Parameters:
        input - the record input stream
        name - the name
        Throws:
        DataStoreException
      • addMetadataRecord

        public void addMetadataRecord​(java.io.File input,
                                      java.lang.String name)
                               throws DataStoreException
        Description copied from interface: SharedBackend
        Adds a metadata record with the specified name
        Parameters:
        input - the record file
        name - the name
        Throws:
        DataStoreException
      • getMetadataRecord

        public DataRecord getMetadataRecord​(java.lang.String name)
        Description copied from interface: SharedBackend
        Gets the metadata of the specified name.
        Parameters:
        name - the name of the record
        Returns:
        the metadata DataRecord
      • getAllMetadataRecords

        public java.util.List<DataRecord> getAllMetadataRecords​(java.lang.String prefix)
        Description copied from interface: SharedBackend
        Gets all the metadata with a specified prefix.
        Parameters:
        prefix - the prefix of the records to retrieve
        Returns:
        list of all the metadata DataRecords
      • deleteMetadataRecord

        public boolean deleteMetadataRecord​(java.lang.String name)
        Description copied from interface: SharedBackend
        Deletes the metadata record with the specified name
        Parameters:
        name - the name of the record
        Returns:
        boolean to indicate success of deletion
      • deleteAllMetadataRecords

        public void deleteAllMetadataRecords​(java.lang.String prefix)
        Description copied from interface: SharedBackend
        Deletes all the metadata records with the specified prefix.
        Parameters:
        prefix - the prefix of the record
      • metadataRecordExists

        public boolean metadataRecordExists​(java.lang.String name)
        Description copied from interface: SharedBackend
        Checks if the metadata record with the specified name exists.
        Parameters:
        name - the name of the record
        Returns:
        whether record exists
      • getAllRecords

        public java.util.Iterator<DataRecord> getAllRecords()
        Description copied from interface: SharedBackend
        Returns a list of all DataRecords
        Returns:
        iterator over DataRecords
      • getOrCreateReferenceKey

        public byte[] getOrCreateReferenceKey()
                                       throws DataStoreException
        Description copied from class: AbstractSharedBackend
        Returns the reference key of this backend. If one does not already exist, it is automatically created in an implementation-specific way. The default implementation simply creates a temporary random key that's valid only until the data store gets restarted. Subclasses can override and/or decorate this method to support a more persistent reference key.

        This method is called only once during the lifetime of a backend instance and the return value is cached in memory, so it's no problem if the implementation is slow.

        Overrides:
        getOrCreateReferenceKey in class AbstractSharedBackend
        Returns:
        reference key
        Throws:
        DataStoreException - if the key is not available
      • setProperties

        public void setProperties​(java.util.Properties properties)
        Properties used to configure the backend. These are mandatorily to be provided explicitly before calling {init() is invoked.
        Parameters:
        properties - to configure Backend