Class FileResource

All Implemented Interfaces:
Cloneable, Comparable<Resource>, Iterable<Resource>, ResourceCollection, ResourceFactory, Appendable, FileProvider, Touchable

public class FileResource extends Resource implements Touchable, FileProvider, ResourceFactory, Appendable
A Resource representation of a File.
Since:
Ant 1.7
  • Constructor Details

    • FileResource

      public FileResource()
      Default constructor.
    • FileResource

      public FileResource(File b, String name)
      Construct a new FileResource using the specified basedir and relative name.
      Parameters:
      b - the basedir as File.
      name - the relative filename.
    • FileResource

      public FileResource(File f)
      Construct a new FileResource from a File.
      Parameters:
      f - the File represented.
    • FileResource

      public FileResource(Project p, File f)
      Create a new FileResource.
      Parameters:
      p - Project
      f - File represented
      Since:
      Ant 1.8
    • FileResource

      public FileResource(Project p, String s)
      Constructor for Ant attribute introspection.
      Parameters:
      p - the Project against which to resolve s.
      s - the absolute or Project-relative filename as a String.
      See Also:
  • Method Details

    • setFile

      public void setFile(File f)
      Set the File for this FileResource.
      Parameters:
      f - the File to be represented.
    • getFile

      public File getFile()
      Get the file represented by this FileResource.
      Specified by:
      getFile in interface FileProvider
      Returns:
      the File.
    • setBaseDir

      public void setBaseDir(File b)
      Set the basedir for this FileResource.
      Parameters:
      b - the basedir as File.
    • getBaseDir

      public File getBaseDir()
      Return the basedir to which the name is relative.
      Returns:
      the basedir as File.
    • setRefid

      public void setRefid(Reference r)
      Overrides the super version.
      Overrides:
      setRefid in class Resource
      Parameters:
      r - the Reference to set.
    • getName

      public String getName()
      Get the name of this FileResource. If the basedir is set, the name will be relative to that. Otherwise the basename only will be returned.
      Overrides:
      getName in class Resource
      Returns:
      the name of this resource.
    • isExists

      public boolean isExists()
      Learn whether this file exists.
      Overrides:
      isExists in class Resource
      Returns:
      true if this resource exists.
    • getLastModified

      public long getLastModified()
      Get the modification time in milliseconds since 01.01.1970 .
      Overrides:
      getLastModified in class Resource
      Returns:
      0 if the resource does not exist.
    • isDirectory

      public boolean isDirectory()
      Learn whether the resource is a directory.
      Overrides:
      isDirectory in class Resource
      Returns:
      boolean flag indicating if the resource is a directory.
    • getSize

      public long getSize()
      Get the size of this Resource.
      Overrides:
      getSize in class Resource
      Returns:
      the size, as a long, 0 if the Resource does not exist.
    • getInputStream

      public InputStream getInputStream() throws IOException
      Return an InputStream for reading the contents of this Resource.
      Overrides:
      getInputStream in class Resource
      Returns:
      an InputStream object.
      Throws:
      IOException - if an error occurs.
    • getOutputStream

      public OutputStream getOutputStream() throws IOException
      Get an OutputStream for the Resource.
      Overrides:
      getOutputStream in class Resource
      Returns:
      an OutputStream to which content can be written.
      Throws:
      IOException - if unable to provide the content of this Resource as a stream.
      UnsupportedOperationException - if OutputStreams are not supported for this Resource type.
    • getAppendOutputStream

      public OutputStream getAppendOutputStream() throws IOException
      Get an appending OutputStream.
      Specified by:
      getAppendOutputStream in interface Appendable
      Returns:
      OutputStream
      Throws:
      IOException - if anything goes wrong
    • compareTo

      public int compareTo(Resource another)
      Compare this FileResource to another Resource.
      Specified by:
      compareTo in interface Comparable<Resource>
      Overrides:
      compareTo in class Resource
      Parameters:
      another - the other Resource against which to compare.
      Returns:
      a negative integer, zero, or a positive integer as this FileResource is less than, equal to, or greater than the specified Resource.
    • equals

      public boolean equals(Object another)
      Compare another Object to this FileResource for equality.
      Overrides:
      equals in class Resource
      Parameters:
      another - the other Object to compare.
      Returns:
      true if another is a FileResource representing the same file.
    • hashCode

      public int hashCode()
      Get the hash code for this Resource.
      Overrides:
      hashCode in class Resource
      Returns:
      hash code as int.
    • toString

      public String toString()
      Get the string representation of this Resource.
      Overrides:
      toString in class Resource
      Returns:
      this FileResource formatted as a String.
    • isFilesystemOnly

      public boolean isFilesystemOnly()
      Fulfill the ResourceCollection contract.
      Specified by:
      isFilesystemOnly in interface ResourceCollection
      Overrides:
      isFilesystemOnly in class Resource
      Returns:
      whether this Resource is a FileResource.
    • touch

      public void touch(long modTime)
      Implement the Touchable interface.
      Specified by:
      touch in interface Touchable
      Parameters:
      modTime - new last modification time.
    • getNotNullFile

      protected File getNotNullFile()
      Get the file represented by this FileResource, ensuring it is not null.
      Returns:
      the not-null File.
      Throws:
      BuildException - if file is null.
    • getResource

      public Resource getResource(String path)
      Create a new resource that matches a relative or absolute path. If the current instance has a compatible baseDir attribute, it is copied.
      Specified by:
      getResource in interface ResourceFactory
      Parameters:
      path - relative/absolute path to a resource
      Returns:
      a new resource of type FileResource
      Throws:
      BuildException - if desired
      Since:
      Ant1.8
    • getRef

      protected FileResource getRef()
      Description copied from class: Resource
      Perform the check for circular references and return the referenced Resource.
      Overrides:
      getRef in class Resource
      Returns:
      Resource.