Class ApplicationFile

java.lang.Object
com.yahoo.config.application.api.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
  • Field Details

  • Constructor Details

    • ApplicationFile

      protected ApplicationFile(com.yahoo.path.Path path)
  • Method Details

    • 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.
    • createReader

      public abstract Reader createReader() throws FileNotFoundException
      Create a Reader for the contents of this file.
      Returns:
      A Reader that should be closed after use.
      Throws:
      FileNotFoundException - if the file is not found.
    • createInputStream

      public abstract InputStream createInputStream() throws FileNotFoundException
      Create an InputStream for the contents of this file.
      Returns:
      An InputStream that should be closed after use.
      Throws:
      FileNotFoundException - if the file is not found.
    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getMetaPath

      protected com.yahoo.path.Path getMetaPath()
    • getMetaData

      public abstract ApplicationFile.MetaData getMetaData()