Interface FileObject

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean canRenameTo​(FileObject newfile)
      Queries the file if it is possible to rename it to newfile.
      void close()
      Closes this file, and its content.
      void copyFrom​(FileObject srcFile, FileSelector selector)
      Copies another file, and all its descendants, to this file.
      void createFile()
      Creates this file, if it does not exist.
      void createFolder()
      Creates this folder, if it does not exist.
      boolean delete()
      Deletes this file.
      int delete​(FileSelector selector)
      Deletes all descendants of this file that match a selector.
      int deleteAll()
      Deletes this file and all children.
      boolean exists()
      Determines if this file exists.
      FileObject[] findFiles​(FileSelector selector)
      Finds the set of matching descendants of this file, in depthwise order.
      void findFiles​(FileSelector selector, boolean depthwise, java.util.List<FileObject> selected)
      Finds the set of matching descendants of this file.
      FileObject getChild​(java.lang.String name)
      Returns a child of this file.
      FileObject[] getChildren()
      Lists the children of this file.
      FileContent getContent()
      Returns this file's content.
      FileOperations getFileOperations()  
      FileSystem getFileSystem()
      Returns the file system that contains this file.
      FileName getName()
      Returns the name of this file.
      FileObject getParent()
      Returns the folder that contains this file.
      java.lang.String getPublicURIString()
      Returns the receiver as a URI String for public display, like, without a password.
      FileType getType()
      Returns this file's type.
      java.net.URL getURL()
      Returns a URL representing this file.
      boolean isAttached()
      Checks if the fileObject is attached.
      boolean isContentOpen()
      Checks if someone reads/write to this file.
      boolean isExecutable()
      Determines if this file is executable.
      boolean isFile()
      Checks if this file is a regular file.
      boolean isFolder()
      Checks if this file is a folder.
      boolean isHidden()
      Determines if this file is hidden.
      boolean isReadable()
      Determines if this file can be read.
      boolean isWriteable()
      Determines if this file can be written to.
      void moveTo​(FileObject destFile)
      Move this file.
      void refresh()
      This will prepare the fileObject to get resynchronized with the underlying file system if required.
      FileObject resolveFile​(java.lang.String path)
      Finds a file, relative to this file.
      FileObject resolveFile​(java.lang.String name, NameScope scope)
      Finds a file relative to this file.
      boolean setExecutable​(boolean executable, boolean ownerOnly)
      Sets the owner's (or everybody's) write permission.
      boolean setReadable​(boolean readable, boolean ownerOnly)
      Sets the owner's (or everybody's) read permission.
      boolean setWritable​(boolean writable, boolean ownerOnly)
      Sets the owner's (or everybody's) write permission.
      • Methods inherited from interface java.lang.Comparable

        compareTo
      • Methods inherited from interface java.lang.Iterable

        forEach, iterator, spliterator
    • Method Detail

      • canRenameTo

        boolean canRenameTo​(FileObject newfile)
        Queries the file if it is possible to rename it to newfile.
        Parameters:
        newfile - the new file(-name)
        Returns:
        true it this is the case
      • close

        void close()
            throws FileSystemException
        Closes this file, and its content. This method is a hint to the implementation that it can release any resources associated with the file.

        The file object can continue to be used after this method is called.

        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        FileSystemException - On error closing the file.
        See Also:
        FileContent.close()
      • copyFrom

        void copyFrom​(FileObject srcFile,
                      FileSelector selector)
               throws FileSystemException
        Copies another file, and all its descendants, to this file.

        If this file does not exist, it is created. Its parent folder is also created, if necessary. If this file does exist, it is deleted first.

        This method is not transactional. If it fails and throws an exception, this file will potentially only be partially copied.

        Parameters:
        srcFile - The source file to copy.
        selector - The selector to use to select which files to copy.
        Throws:
        FileSystemException - If this file is read-only, or if the source file does not exist, or on error copying the file.
      • createFile

        void createFile()
                 throws FileSystemException
        Creates this file, if it does not exist. Also creates any ancestor folders which do not exist. This method does nothing if the file already exists and is a file.
        Throws:
        FileSystemException - If the file already exists with the wrong type, or the parent folder is read-only, or on error creating this file or one of its ancestors.
      • createFolder

        void createFolder()
                   throws FileSystemException
        Creates this folder, if it does not exist. Also creates any ancestor folders which do not exist. This method does nothing if the folder already exists.
        Throws:
        FileSystemException - If the folder already exists with the wrong type, or the parent folder is read-only, or on error creating this folder or one of its ancestors.
      • delete

        boolean delete()
                throws FileSystemException
        Deletes this file. Does nothing if this file does not exist of if it is a folder that has children. Does not delete any descendants of this file, use delete(FileSelector) or deleteAll() for that.
        Returns:
        true if this object has been deleted
        Throws:
        FileSystemException - If this file is a non-empty folder, or if this file is read-only, or on error deleteing this file.
      • delete

        int delete​(FileSelector selector)
            throws FileSystemException
        Deletes all descendants of this file that match a selector. Does nothing if this file does not exist.

        This method is not transactional. If it fails and throws an exception, this file will potentially only be partially deleted.

        Parameters:
        selector - The selector to use to select which files to delete.
        Returns:
        the number of deleted objects
        Throws:
        FileSystemException - If this file or one of its descendants is read-only, or on error deleting this file or one of its descendants.
      • findFiles

        FileObject[] findFiles​(FileSelector selector)
                        throws FileSystemException
        Finds the set of matching descendants of this file, in depthwise order.
        Parameters:
        selector - The selector to use to select matching files.
        Returns:
        The matching files. The files are returned in depthwise order (that is, a child appears in the list before its parent).
        Throws:
        FileSystemException - if an error occurs.
      • findFiles

        void findFiles​(FileSelector selector,
                       boolean depthwise,
                       java.util.List<FileObject> selected)
                throws FileSystemException
        Finds the set of matching descendants of this file.
        Parameters:
        selector - the selector used to determine if the file should be selected
        depthwise - controls the ordering in the list. e.g. deepest first
        selected - container for selected files. list needs not to be empty.
        Throws:
        FileSystemException - if an error occurs.
      • getChild

        FileObject getChild​(java.lang.String name)
                     throws FileSystemException
        Returns a child of this file. Note that this method returns null when the child does not exist. This differs from resolveFile(String, NameScope) which never returns null.
        Parameters:
        name - The name of the child.
        Returns:
        The child, or null if there is no such child.
        Throws:
        FileSystemException - If this file does not exist, or is not a folder, or on error determining this file's children.
      • getChildren

        FileObject[] getChildren()
                          throws FileSystemException
        Lists the children of this file.
        Returns:
        An array containing the children of this file. The array is unordered. If the file does not have any children, a zero-length array is returned. This method never returns null.
        Throws:
        FileSystemException - If this file does not exist, or is not a folder, or on error listing this file's children.
      • getContent

        FileContent getContent()
                        throws FileSystemException
        Returns this file's content. The FileContent returned by this method can be used to read and write the content of the file.

        This method can be called if the file does not exist, and the returned FileContent can be used to create the file by writing its content.

        Returns:
        This file's content.
        Throws:
        FileSystemException - On error getting this file's content.
      • getFileSystem

        FileSystem getFileSystem()
        Returns the file system that contains this file.
        Returns:
        The file system.
      • getName

        FileName getName()
        Returns the name of this file.
        Returns:
        the FileName.
      • getPublicURIString

        java.lang.String getPublicURIString()
        Returns the receiver as a URI String for public display, like, without a password.
        Returns:
        A URI String without a password, never null.
      • isAttached

        boolean isAttached()
        Checks if the fileObject is attached.
        Returns:
        true if the FileObject is attached.
      • isContentOpen

        boolean isContentOpen()
        Checks if someone reads/write to this file.
        Returns:
        true if the file content is open.
      • moveTo

        void moveTo​(FileObject destFile)
             throws FileSystemException
        Move this file.

        If the destFile exists, it is deleted first.

        Parameters:
        destFile - the New filename.
        Throws:
        FileSystemException - If this file is read-only, or if the source file does not exist, or on error copying the file.
      • resolveFile

        FileObject resolveFile​(java.lang.String path)
                        throws FileSystemException
        Finds a file, relative to this file. Equivalent to calling resolveFile( path, NameScope.FILE_SYSTEM ).
        Parameters:
        path - The path of the file to locate. Can either be a relative path or an absolute path.
        Returns:
        The file.
        Throws:
        FileSystemException - On error parsing the path, or on error finding the file.
      • resolveFile

        FileObject resolveFile​(java.lang.String name,
                               NameScope scope)
                        throws FileSystemException
        Finds a file relative to this file. Refer to NameScope for a description of how names are resolved in the different scopes.
        Parameters:
        name - The name to resolve.
        scope - the NameScope for the file.
        Returns:
        The file.
        Throws:
        FileSystemException - On error parsing the path, or on error finding the file.
      • setExecutable

        boolean setExecutable​(boolean executable,
                              boolean ownerOnly)
                       throws FileSystemException
        Sets the owner's (or everybody's) write permission.
        Parameters:
        executable - True to allow read access, false to disallow.
        ownerOnly - If true, the permission applies only to the owner; otherwise, it applies to everybody.
        Returns:
        true if the operation succeeded.
        Throws:
        FileSystemException - On error determining if this file exists.
        Since:
        2.1
      • setReadable

        boolean setReadable​(boolean readable,
                            boolean ownerOnly)
                     throws FileSystemException
        Sets the owner's (or everybody's) read permission.
        Parameters:
        readable - True to allow read access, false to disallow
        ownerOnly - If true, the permission applies only to the owner; otherwise, it applies to everybody.
        Returns:
        true if the operation succeeded
        Throws:
        FileSystemException - On error determining if this file exists.
        Since:
        2.1
      • setWritable

        boolean setWritable​(boolean writable,
                            boolean ownerOnly)
                     throws FileSystemException
        Sets the owner's (or everybody's) write permission.
        Parameters:
        writable - True to allow read access, false to disallow
        ownerOnly - If true, the permission applies only to the owner; otherwise, it applies to everybody.
        Returns:
        true if the operation succeeded
        Throws:
        FileSystemException - On error determining if this file exists.
        Since:
        2.1