Class FileResource

All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable<Resource>, java.lang.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​(java.io.File b, java.lang.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​(java.io.File f)
      Construct a new FileResource from a File.
      Parameters:
      f - the File represented.
    • FileResource

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

      public FileResource​(Project p, java.lang.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:
      IntrospectionHelper
  • Method Details

    • setFile

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

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

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

      public java.io.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 java.lang.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 java.io.InputStream getInputStream() throws java.io.IOException
      Return an InputStream for reading the contents of this Resource.
      Overrides:
      getInputStream in class Resource
      Returns:
      an InputStream object.
      Throws:
      java.io.IOException - if an error occurs.
    • getOutputStream

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

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

      public int compareTo​(Resource another)
      Compare this FileResource to another Resource.
      Specified by:
      compareTo in interface java.lang.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​(java.lang.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 java.lang.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 java.io.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​(java.lang.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.