Class SingleFileSystemIndexHelper


  • public class SingleFileSystemIndexHelper
    extends java.lang.Object
    A helper class used by GFilesystem implementors that have a single file to handle lookups and requests for that file.

    This class is patterned on FileSystemIndexHelper and has pretty much the same api.

    • Constructor Detail

      • SingleFileSystemIndexHelper

        public SingleFileSystemIndexHelper​(GFileSystem fs,
                                           FSRLRoot fsFSRL,
                                           java.lang.String payloadFilename,
                                           long length,
                                           java.lang.String payloadMD5)
        Creates a new instance. A "root" directory GFile will be auto-created for the filesystem.

        Parameters:
        fs - the GFileSystem that this index will be for.
        fsFSRL - the fsrl of the filesystem itself. (this parameter is explicitly passed here so there is no possibility of trying to call back to the fs's GFileSystem.getFSRL() on a half-constructed filesystem.)
        payloadFilename - name of the single file that this filesystem holds.
        length - length of the payload file.
        payloadMD5 - md5 of the payload file.
    • Method Detail

      • clear

        public void clear()
        Clears the data held by this object.
      • isPayloadFile

        public boolean isPayloadFile​(GFile file)
        Returns true if the specified file is the payload file.
        Parameters:
        file - GFile to test
        Returns:
        boolean true if it is the payload file
      • isClosed

        public boolean isClosed()
        Returns true if this object has been clear()'ed.
        Returns:
        boolean true if data has been cleared.
      • getPayloadFile

        public GFile getPayloadFile()
        Gets the 'payload' file, ie. the main file of this filesystem.
        Returns:
        GFile payload file.
      • getRootDirFSRL

        public FSRL getRootDirFSRL()
        Gets the root dir's FSRL.
        Returns:
        FSRL of the root dir.
      • getRootDir

        public GFile getRootDir()
        Gets the root GFile object for this filesystem index.
        Returns:
        root GFile object.
      • getFileCount

        public int getFileCount()
        Number of files in this index.
        Returns:
        number of file in this index.
      • getListing

        public java.util.List<GFile> getListing​(GFile directory)
                                         throws java.io.IOException
        Mirror's GFileSystem.getListing(GFile) interface.
        Parameters:
        directory - GFile directory to get the list of child files that have been added to this index, null means root directory.
        Returns:
        List of GFile files that are in the specified directory, never null.
        Throws:
        java.io.IOException - if already closed.
      • lookup

        public GFile lookup​(java.lang.String path)
        Mirror's GFileSystem.lookup(String) interface.
        Parameters:
        path - path and filename of a file to find (either "/" for root or the payload file's path).
        Returns:
        GFile instance or null if requested path is not the same as the payload file.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object