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
-
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
-
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 intcompareTo(Resource another)Compare this FileResource to another Resource.booleanequals(java.lang.Object another)Compare another Object to this FileResource for equality.java.io.OutputStreamgetAppendOutputStream()Get an appending OutputStream.java.io.FilegetBaseDir()Return the basedir to which the name is relative.java.io.FilegetFile()Get the file represented by this FileResource.java.io.InputStreamgetInputStream()Return an InputStream for reading the contents of this Resource.longgetLastModified()Get the modification time in milliseconds since 01.01.1970 .java.lang.StringgetName()Get the name of this FileResource.protected java.io.FilegetNotNullFile()Get the file represented by this FileResource, ensuring it is not null.java.io.OutputStreamgetOutputStream()Get an OutputStream for the Resource.protected FileResourcegetRef()Perform the check for circular references and return the referenced Resource.ResourcegetResource(java.lang.String path)Create a new resource that matches a relative or absolute path.longgetSize()Get the size of this Resource.inthashCode()Get the hash code for this Resource.booleanisDirectory()Learn whether the resource is a directory.booleanisExists()Learn whether this file exists.booleanisFilesystemOnly()Fulfill the ResourceCollection contract.voidsetBaseDir(java.io.File b)Set the basedir for this FileResource.voidsetFile(java.io.File f)Set the File for this FileResource.voidsetRefid(Reference r)Overrides the super version.java.lang.StringtoString()Get the string representation of this Resource.voidtouch(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
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.tools.ant.types.ResourceCollection
isEmpty, stream
-
-
-
-
Constructor Detail
-
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- Projectf- 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 resolves.s- the absolute or Project-relative filename as a String.- See Also:
IntrospectionHelper
-
-
Method Detail
-
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:
getFilein 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
public void setRefid(Reference r)
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:
getLastModifiedin classResource- Returns:
- 0 if the resource does not exist.
-
isDirectory
public boolean isDirectory()
Learn whether the resource is a directory.- Overrides:
isDirectoryin 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:
getInputStreamin 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:
getOutputStreamin 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:
getAppendOutputStreamin interfaceAppendable- Returns:
- OutputStream
- Throws:
java.io.IOException- if anything goes wrong
-
compareTo
public int compareTo(Resource another)
Compare this FileResource to another Resource.- Specified by:
compareToin interfacejava.lang.Comparable<Resource>- Overrides:
compareToin 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:
isFilesystemOnlyin interfaceResourceCollection- Overrides:
isFilesystemOnlyin 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
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:
getResourcein interfaceResourceFactory- 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:ResourcePerform the check for circular references and return the referenced Resource.
-
-