Class AbstractFileSystem

    • Method Detail

      • closeCommunicationLink

        public void closeCommunicationLink()
        Close the underlaying link used to access the files
      • doCloseCommunicationLink

        protected void doCloseCommunicationLink()
        Close the underlaying link used to access the files
      • createFile

        protected abstract FileObject createFile​(FileName name)
                                          throws java.lang.Exception
        Creates a file object. This method is called only if the requested file is not cached.
        Throws:
        java.lang.Exception
      • addCapabilities

        protected abstract void addCapabilities​(java.util.Collection caps)
        Adds the capabilities of this file system.
      • getRootName

        public FileName getRootName()
        Returns the name of the root of this file system.
        Specified by:
        getRootName in interface FileSystem
      • putFileToCache

        protected void putFileToCache​(FileObject file)
        Adds a file object to the cache.
      • getFileFromCache

        protected FileObject getFileFromCache​(FileName name)
        Returns a cached file.
      • removeFileFromCache

        protected void removeFileFromCache​(FileName name)
        remove a cached file.
      • hasCapability

        public boolean hasCapability​(Capability capability)
        Determines if this file system has a particular capability.
        Specified by:
        hasCapability in interface FileSystem
        Parameters:
        capability - The capability to check for.
        Returns:
        true if this filesystem has the requested capability. Note that not all files in the file system may have the capability.
      • getAttribute

        public java.lang.Object getAttribute​(java.lang.String attrName)
                                      throws FileSystemException
        Retrieves the attribute with the specified name. The default implementation simply throws an exception.
        Specified by:
        getAttribute in interface FileSystem
        Parameters:
        attrName - The name of the attribute.
        Returns:
        The value of the attribute.
        Throws:
        FileSystemException - If the file does not exist, or is being written, or if the attribute is unknown.
        See Also:
        FileContent.getAttribute(java.lang.String)
      • replicateFile

        public java.io.File replicateFile​(FileObject file,
                                          FileSelector selector)
                                   throws FileSystemException
        Creates a temporary local copy of a file and its descendents.
        Specified by:
        replicateFile in interface FileSystem
        Parameters:
        file - The file to replicate.
        selector - The selector to use to select the files to replicate.
        Returns:
        The local copy of this file.
        Throws:
        FileSystemException - If this file does not exist, or on error replicating the file.
      • getLastModTimeAccuracy

        public double getLastModTimeAccuracy()
        Returns the accuracy of the last modification time
        Specified by:
        getLastModTimeAccuracy in interface FileSystem
        Returns:
        ms 0 perfectly accurate, >0 might be off by this value e.g. sftp 1000ms
      • doReplicateFile

        protected java.io.File doReplicateFile​(FileObject file,
                                               FileSelector selector)
                                        throws java.lang.Exception
        Creates a temporary local copy of a file and its descendents.
        Throws:
        java.lang.Exception
      • addJunction

        public void addJunction​(java.lang.String junctionPoint,
                                FileObject targetFile)
                         throws FileSystemException
        Adds a junction to this file system.
        Specified by:
        addJunction in interface FileSystem
        Parameters:
        junctionPoint - The point in this file system to add the junction.
        targetFile - The file to link to.
        Throws:
        FileSystemException - If this file system does not support junctions, or the junction point or target file is invalid (the file system may not support nested junctions, for example).
      • removeJunction

        public void removeJunction​(java.lang.String junctionPoint)
                            throws FileSystemException
        Removes a junction from this file system.
        Specified by:
        removeJunction in interface FileSystem
        Parameters:
        junctionPoint - The junction to remove.
        Throws:
        FileSystemException - On error removing the junction.
      • addListener

        public void addListener​(FileObject file,
                                FileListener listener)
        Adds a listener on a file in this file system.
        Specified by:
        addListener in interface FileSystem
        Parameters:
        file - The file to attach the listener to.
        listener - The listener to add.
      • removeListener

        public void removeListener​(FileObject file,
                                   FileListener listener)
        Removes a listener from a file in this file system.
        Specified by:
        removeListener in interface FileSystem
        Parameters:
        file - The file to remove the listener from.
        listener - The listener to remove.
      • fireFileCreated

        public void fireFileCreated​(FileObject file)
        Fires a file create event.
      • fireFileDeleted

        public void fireFileDeleted​(FileObject file)
        Fires a file delete event.
      • fireFileChanged

        public void fireFileChanged​(FileObject file)
        Fires a file changed event.
        This will only happen if you monitor the file using FileMonitor.
      • isReleaseable

        public boolean isReleaseable()
        returns true if no file is using this filesystem
      • notifyAllStreamsClosed

        protected void notifyAllStreamsClosed()
        will be called after all file-objects closed their streams.
      • isOpen

        public boolean isOpen()
        check if this filesystem has open streams