Class ApplicationFile

  • All Implemented Interfaces:
    Comparable<ApplicationFile>

    public abstract class ApplicationFile
    extends Object
    implements Comparable<ApplicationFile>
    An application file represents a file within an application package. This class can be used to traverse the entire application package file structure, as well as read and write files to it, and create directories.
    Author:
    Ulf Lilleengen
    • Constructor Detail

      • ApplicationFile

        protected ApplicationFile​(com.yahoo.path.Path path)
    • Method Detail

      • isDirectory

        public abstract boolean isDirectory()
        Check whether or not this file is a directory.
        Returns:
        true if it is, false if not.
      • exists

        public abstract boolean exists()
        Test whether or not this file exists.
        Returns:
        true if it exists, false if not.
      • createDirectory

        public abstract ApplicationFile createDirectory()
        Create a directory at the path represented by this file. Parent directories will be automatically created.
        Returns:
        this
        Throws:
        IllegalArgumentException - if the directory already exists.
      • writeFile

        public abstract ApplicationFile writeFile​(Reader input)
        Write the contents from this reader to this file. Any existing content will be overwritten!
        Parameters:
        input - A reader pointing to the content that should be written.
        Returns:
        this
      • appendFile

        public abstract ApplicationFile appendFile​(String value)
        Appends the given string to this text file.
        Returns:
        this
      • listFiles

        public List<ApplicationFile> listFiles()
        List the files under this directory. If this is file, an empty list is returned. Only immediate files/subdirectories are returned.
        Returns:
        a list of files in this directory.
      • listFiles

        public abstract List<ApplicationFile> listFiles​(ApplicationFile.PathFilter filter)
        List the files under this directory. If this is file, an empty list is returned. Only immediate files/subdirectories are returned.
        Parameters:
        filter - A filter functor for filtering path names
        Returns:
        a list of files in this directory.
      • listFiles

        public List<ApplicationFile> listFiles​(boolean recurse)
        List the files in this directory, optionally list files for subdirectories recursively as well.
        Parameters:
        recurse - Set to true if all files in the directory tree should be returned.
        Returns:
        a list of files in this directory.
      • delete

        public abstract ApplicationFile delete()
        Delete the file pointed to by this. If it is a non-empty directory, the operation will throw.
        Returns:
        this.
        Throws:
        RuntimeException - if the file is a directory and not empty.
      • getPath

        public com.yahoo.path.Path getPath()
        Get the path that this file represents.
        Returns:
        a Path
      • getMetaPath

        protected com.yahoo.path.Path getMetaPath()