Class FileResource
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.Resource
org.apache.tools.ant.types.resources.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
-
Field Summary
Fields inherited from class org.apache.tools.ant.types.Resource
MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE
-
Constructor Summary
Constructors Constructor Description FileResource()
Default constructor.FileResource(java.io.File f)
Construct a new FileResource from a File.FileResource(java.io.File b, java.lang.String name)
Construct a new FileResource using the specified basedir and relative name.FileResource(Project p, java.io.File f)
Create a new FileResource.FileResource(Project p, java.lang.String s)
Constructor for Ant attribute introspection. -
Method Summary
Modifier and Type Method Description int
compareTo(Resource another)
Compare this FileResource to another Resource.boolean
equals(java.lang.Object another)
Compare another Object to this FileResource for equality.java.io.OutputStream
getAppendOutputStream()
Get an appending OutputStream.java.io.File
getBaseDir()
Return the basedir to which the name is relative.java.io.File
getFile()
Get the file represented by this FileResource.java.io.InputStream
getInputStream()
Return an InputStream for reading the contents of this Resource.long
getLastModified()
Get the modification time in milliseconds since 01.01.1970 .java.lang.String
getName()
Get the name of this FileResource.protected java.io.File
getNotNullFile()
Get the file represented by this FileResource, ensuring it is not null.java.io.OutputStream
getOutputStream()
Get an OutputStream for the Resource.protected FileResource
getRef()
Perform the check for circular references and return the referenced Resource.Resource
getResource(java.lang.String path)
Create a new resource that matches a relative or absolute path.long
getSize()
Get the size of this Resource.int
hashCode()
Get the hash code for this Resource.boolean
isDirectory()
Learn whether the resource is a directory.boolean
isExists()
Learn whether this file exists.boolean
isFilesystemOnly()
Fulfill the ResourceCollection contract.void
setBaseDir(java.io.File b)
Set the basedir for this FileResource.void
setFile(java.io.File f)
Set the File for this FileResource.void
setRefid(Reference r)
Overrides the super version.java.lang.String
toString()
Get the string representation of this Resource.void
touch(long modTime)
Implement the Touchable interface.Methods inherited from class org.apache.tools.ant.types.Resource
as, asOptional, clone, getMagicNumber, iterator, setDirectory, setExists, setLastModified, setName, setSize, size, toLongString
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
-
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
Create a new FileResource.- Parameters:
p
- Projectf
- File represented- Since:
- Ant 1.8
-
FileResource
Constructor for Ant attribute introspection.- Parameters:
p
- the Project against which to resolves
.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 interfaceFileProvider
- 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
Overrides the super version. -
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. -
isExists
public boolean isExists()Learn whether this file exists. -
getLastModified
public long getLastModified()Get the modification time in milliseconds since 01.01.1970 .- Overrides:
getLastModified
in classResource
- Returns:
- 0 if the resource does not exist.
-
isDirectory
public boolean isDirectory()Learn whether the resource is a directory.- Overrides:
isDirectory
in classResource
- Returns:
- boolean flag indicating if the resource is a directory.
-
getSize
public long getSize()Get the size of this Resource. -
getInputStream
public java.io.InputStream getInputStream() throws java.io.IOExceptionReturn an InputStream for reading the contents of this Resource.- Overrides:
getInputStream
in classResource
- Returns:
- an InputStream object.
- Throws:
java.io.IOException
- if an error occurs.
-
getOutputStream
public java.io.OutputStream getOutputStream() throws java.io.IOExceptionGet an OutputStream for the Resource.- Overrides:
getOutputStream
in classResource
- 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.IOExceptionGet an appending OutputStream.- Specified by:
getAppendOutputStream
in interfaceAppendable
- Returns:
- OutputStream
- Throws:
java.io.IOException
- if anything goes wrong
-
compareTo
Compare this FileResource to another Resource.- Specified by:
compareTo
in interfacejava.lang.Comparable<Resource>
- Overrides:
compareTo
in classResource
- 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. -
hashCode
public int hashCode()Get the hash code for this Resource. -
toString
public java.lang.String toString()Get the string representation of this Resource. -
isFilesystemOnly
public boolean isFilesystemOnly()Fulfill the ResourceCollection contract.- Specified by:
isFilesystemOnly
in interfaceResourceCollection
- Overrides:
isFilesystemOnly
in classResource
- Returns:
- whether this Resource is a FileResource.
-
touch
public void touch(long modTime)Implement the Touchable interface. -
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
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 interfaceResourceFactory
- Parameters:
path
- relative/absolute path to a resource- Returns:
- a new resource of type FileResource
- Throws:
BuildException
- if desired- Since:
- Ant1.8
-
getRef
Description copied from class:Resource
Perform the check for circular references and return the referenced Resource.
-