|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.Path
public class Path
This object represents a path as used by CLASSPATH or PATH environment variable. A path might also be described as a collection of unique filesystem resources.
<sometask>
<somepath>
<pathelement location="/path/to/file.jar" />
<pathelement
path="/path/to/file2.jar:/path/to/class2;/path/to/class3" />
<pathelement location="/path/to/file3.jar" />
<pathelement location="/path/to/file4.jar" />
</somepath>
</sometask>
The object implementation sometask must provide a method called
createSomepath which returns an instance of Path.
Nested path definitions are handled by the Path object and must be labeled
pathelement.
The path element takes a parameter path which will be parsed
and split into single elements. It will usually be used
to define a path from an environment variable.
| Nested Class Summary | |
|---|---|
class |
Path.PathElement
Helper class, holds the nested <pathelement> values. |
| Field Summary | |
|---|---|
static Path |
systemBootClasspath
The system bootclasspath as a Path object. |
static Path |
systemClasspath
The system classpath as a Path object |
| Fields inherited from class org.apache.tools.ant.types.DataType |
|---|
checked, ref |
| Fields inherited from class org.apache.tools.ant.ProjectComponent |
|---|
description, location, project |
| Constructor Summary | |
|---|---|
Path(Project project)
Construct an empty Path. |
|
Path(Project p,
java.lang.String path)
Invoked by IntrospectionHelper for setXXX(Path p)
attribute setters. |
|
| Method Summary | |
|---|---|
void |
add(Path path)
Adds a nested path |
void |
add(ResourceCollection c)
Add a nested ResourceCollection. |
void |
addDirset(DirSet dset)
Adds a nested <dirset> element. |
void |
addExisting(Path source)
Adds the components on the given path which exist to this Path. |
void |
addExisting(Path source,
boolean tryUserDir)
Same as addExisting, but support classpath behavior if tryUserDir is true. |
void |
addExtdirs(Path extdirs)
Emulation of extdirs feature in java >= 1.2. |
void |
addFilelist(FileList fl)
Adds a nested <filelist> element. |
void |
addFileset(FileSet fs)
Adds a nested <fileset> element. |
void |
addJavaRuntime()
Add the Java Runtime classes to this Path instance. |
void |
append(Path other)
Append the contents of the other Path instance to this. |
protected ResourceCollection |
assertFilesystemOnly(ResourceCollection rc)
Verify the specified ResourceCollection is filesystem-only. |
java.lang.Object |
clone()
Clone this Path. |
Path |
concatSystemBootClasspath(java.lang.String defValue)
Concatenates the system boot class path in the order specified by the ${build.sysclasspath} property - using the supplied value if ${build.sysclasspath} has not been set. |
Path |
concatSystemClasspath()
Concatenates the system class path in the order specified by the ${build.sysclasspath} property - using "last" as default value. |
Path |
concatSystemClasspath(java.lang.String defValue)
Concatenates the system class path in the order specified by the ${build.sysclasspath} property - using the supplied value if ${build.sysclasspath} has not been set. |
Path |
createPath()
Creates a nested <path> element. |
Path.PathElement |
createPathElement()
Creates the nested <pathelement> element. |
protected boolean |
delegateIteratorToList()
Helps determine whether to preserve BC by calling list() on subclasses. |
protected void |
dieOnCircularReference(java.util.Stack<java.lang.Object> stk,
Project p)
Overrides the version of DataType to recurse on all DataType child elements that may have been added. |
boolean |
isFilesystemOnly()
Fulfill the ResourceCollection contract. |
java.util.Iterator<Resource> |
iterator()
Fulfill the ResourceCollection contract. |
java.lang.String[] |
list()
Returns all path elements defined by this and nested path objects. |
void |
setCache(boolean b)
Whether to cache the current path. |
void |
setLocation(java.io.File location)
Adds a element definition to the path. |
void |
setPath(java.lang.String path)
Parses a path definition and creates single PathElements. |
void |
setRefid(Reference r)
Makes this instance in effect a reference to another Path instance. |
int |
size()
Fulfill the ResourceCollection contract. |
java.lang.String |
toString()
Returns a textual representation of the path, which can be used as CLASSPATH or PATH environment variable definition. |
static java.lang.String |
translateFile(java.lang.String source)
Returns its argument with all file separator characters replaced so that they match the local OS conventions. |
protected static boolean |
translateFileSep(java.lang.StringBuffer buffer,
int pos)
Translates occurrences at a position of / or \ to correct separator of the current platform and returns whether it had to do a replacement. |
static java.lang.String[] |
translatePath(Project project,
java.lang.String source)
Splits a PATH (with : or ; as separators) into its parts. |
| Methods inherited from class org.apache.tools.ant.types.DataType |
|---|
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, 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 |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static Path systemClasspath
public static Path systemBootClasspath
| Constructor Detail |
|---|
public Path(Project p,
java.lang.String path)
setXXX(Path p)
attribute setters.
p - the Project for this path.path - the String path definition.public Path(Project project)
Path.
project - the Project for this path.| Method Detail |
|---|
public void setLocation(java.io.File location)
throws BuildException
location - the location of the element to add (must not be
null nor empty.
BuildException - on error
public void setPath(java.lang.String path)
throws BuildException
path - the String path definition.
BuildException - on error
public void setRefid(Reference r)
throws BuildException
You must not set another attribute or nest elements inside this element if you make it a reference.
setRefid in class DataTyper - the reference to another Path
BuildException - on error
public Path.PathElement createPathElement()
throws BuildException
<pathelement> element.
PathElement to be configured
BuildException - on error
public void addFileset(FileSet fs)
throws BuildException
<fileset> element.
fs - a FileSet to be added to the path
BuildException - on error
public void addFilelist(FileList fl)
throws BuildException
<filelist> element.
fl - a FileList to be added to the path
BuildException - on error
public void addDirset(DirSet dset)
throws BuildException
<dirset> element.
dset - a DirSet to be added to the path
BuildException - on error
public void add(Path path)
throws BuildException
path - a Path to be added to the path
BuildException - on errorpublic void add(ResourceCollection c)
ResourceCollection.
c - the ResourceCollection to add.
public Path createPath()
throws BuildException
<path> element.
Path to be configured
BuildException - on errorpublic void append(Path other)
other - a Path to be added to the pathpublic void addExisting(Path source)
source - - source path whose components are examined for existence
public void addExisting(Path source,
boolean tryUserDir)
source - the source pathtryUserDir - if true try the user directory if the file is not presentpublic void setCache(boolean b)
public java.lang.String[] list()
public java.lang.String toString()
toString in class DataType
public static java.lang.String[] translatePath(Project project,
java.lang.String source)
project - the project to usesource - a String value
public static java.lang.String translateFile(java.lang.String source)
source - the path to convert
protected static boolean translateFileSep(java.lang.StringBuffer buffer,
int pos)
buffer - a buffer containing a stringpos - the position in the string buffer to convert
public int size()
size in interface ResourceCollectionpublic java.lang.Object clone()
clone in class DataType
protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk,
Project p)
throws BuildException
dieOnCircularReference in class DataTypestk - the stack of data types to use (recursively).p - the project to use to dereference the references.
BuildException - on error.public Path concatSystemClasspath()
public Path concatSystemClasspath(java.lang.String defValue)
defValue - the order ("first", "last", "only")
public Path concatSystemBootClasspath(java.lang.String defValue)
defValue - the order ("first", "last", "only")
public void addJavaRuntime()
public void addExtdirs(Path extdirs)
extdirs - - Path to append files topublic final java.util.Iterator<Resource> iterator()
iterator in interface java.lang.Iterable<Resource>iterator in interface ResourceCollectionpublic boolean isFilesystemOnly()
isFilesystemOnly in interface ResourceCollectionprotected ResourceCollection assertFilesystemOnly(ResourceCollection rc)
rc - the ResourceCollection to check.
BuildException - if rc is not filesystem-only.protected boolean delegateIteratorToList()
list() on subclasses.
The default behavior of this method is to return true for any subclass
that implements list(); this can, of course, be avoided by overriding
this method to return false. It is not expected that the result of this
method should change over time, thus it is called only once.
true if iterator() should delegate to list().
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||