Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.Path
<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 implemention 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 |
|
Field Summary | |
static Path |
|
static Path |
|
Fields inherited from class org.apache.tools.ant.ProjectComponent | |
description , location , project |
Constructor Summary | |
Method Summary | |
void | |
void |
|
void | |
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void | |
protected ResourceCollection |
|
Object |
|
Path |
|
Path |
|
Path |
|
Path |
|
Path.PathElement |
|
protected void |
|
boolean |
|
Iterator |
|
String[] |
|
void |
|
void |
|
void | |
int |
|
String |
|
static String |
|
protected static boolean |
|
static String[] |
|
Methods inherited from class org.apache.tools.ant.types.DataType | |
checkAttributesAllowed , checkChildrenAllowed , circularReference , clone , dieOnCircularReference , dieOnCircularReference , dieOnCircularReference , getCheckedRef , getCheckedRef , getCheckedRef , getCheckedRef , getDataTypeName , getRefid , invokeCircularReferenceCheck , isChecked , isReference , noChildrenAllowed , setChecked , setRefid , toString , tooManyAttributes |
Methods inherited from class org.apache.tools.ant.ProjectComponent | |
clone , getDescription , getLocation , getProject , log , log , setDescription , setLocation , setProject |
public static Path systemBootClasspath
The system bootclasspath as a Path object.
- Since:
- Ant 1.6.2
public Path(Project project)
Construct an emptyPath
.
- Parameters:
project
- theProject
for this path.
public Path(Project p, String path)
Invoked by IntrospectionHelper forsetXXX(Path p)
attribute setters.
- Parameters:
p
- theProject
for this path.path
- theString
path definition.
public void add(Path path) throws BuildException
Adds a nested path
- Parameters:
path
- aPath
to be added to the path
- Throws:
BuildException
- on error
- Since:
- Ant 1.6
public void add(ResourceCollection c)
Add a nestedResourceCollection
.
- Parameters:
c
- the ResourceCollection to add.
- Since:
- Ant 1.7
public void addDirset(DirSet dset) throws BuildException
Adds a nested<dirset>
element.
- Parameters:
dset
- aDirSet
to be added to the path
- Throws:
BuildException
- on error
public void addExisting(Path source)
Adds the components on the given path which exist to this Path. Components that don't exist aren't added.
- Parameters:
source
- - source path whose components are examined for existence
public void addExisting(Path source, boolean tryUserDir)
Same as addExisting, but support classpath behavior if tryUserDir is true. Classpaths are relative to user dir, not the project base. That used to break jspc test
- Parameters:
source
- the source pathtryUserDir
- if true try the user directory if the file is not present
public void addExtdirs(Path extdirs)
Emulation of extdirs feature in java >= 1.2. This method adds all files in the given directories (but not in sub-directories!) to the classpath, so that you don't have to specify them all one by one.
- Parameters:
extdirs
- - Path to append files to
public void addFilelist(FileList fl) throws BuildException
Adds a nested<filelist>
element.
- Parameters:
fl
- aFileList
to be added to the path
- Throws:
BuildException
- on error
public void addFileset(FileSet fs) throws BuildException
Adds a nested<fileset>
element.
- Parameters:
fs
- aFileSet
to be added to the path
- Throws:
BuildException
- on error
public void addJavaRuntime()
Add the Java Runtime classes to this Path instance.
public void append(Path other)
Append the contents of the other Path instance to this.
- Parameters:
other
- aPath
to be added to the path
protected ResourceCollection assertFilesystemOnly(ResourceCollection rc)
Verify the specified ResourceCollection is filesystem-only.
- Parameters:
rc
- the ResourceCollection to check.
- Returns:
- the passed in ResourceCollection.
public Object clone()
Clone this Path.
- Returns:
- Path with shallowly cloned Resource children.
public Path concatSystemBootClasspath(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.
- Parameters:
defValue
- the order ("first", "last", "only")
- Returns:
- the concatenated path
public Path concatSystemClasspath()
Concatenates the system class path in the order specified by the ${build.sysclasspath} property - using "last" as default value.
- Returns:
- the concatenated path
public Path concatSystemClasspath(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.
- Parameters:
defValue
- the order ("first", "last", "only")
- Returns:
- the concatenated path
public Path createPath() throws BuildException
Creates a nested<path>
element.
- Returns:
- a
Path
to be configured
- Throws:
BuildException
- on error
public Path.PathElement createPathElement() throws BuildException
Creates the nested<pathelement>
element.
- Returns:
- the
PathElement
to be configured
- Throws:
BuildException
- on error
protected void dieOnCircularReference(Stack stk, Project p) throws BuildException
Overrides the version of DataType to recurse on all DataType child elements that may have been added.
- Overrides:
- dieOnCircularReference in interface DataType
- Parameters:
stk
- the stack of data types to use (recursively).p
- the project to use to dereference the references.
- Throws:
BuildException
- on error.
public boolean isFilesystemOnly()
Fulfill the ResourceCollection contract.
- Specified by:
- isFilesystemOnly in interface ResourceCollection
- Returns:
- whether this is a filesystem-only resource collection.
public final Iterator iterator()
Fulfill the ResourceCollection contract. The Iterator returned will throw ConcurrentModificationExceptions if ResourceCollections are added to this container while the Iterator is in use.
- Specified by:
- iterator in interface ResourceCollection
- Returns:
- a "fail-fast" Iterator.
public String[] list()
Returns all path elements defined by this and nested path objects.
- Returns:
- list of path elements.
public void setLocation(File location) throws BuildException
Adds a element definition to the path.
- Parameters:
location
- the location of the element to add (must not benull
nor empty.
- Throws:
BuildException
- on error
public void setPath(String path) throws BuildException
Parses a path definition and creates single PathElements.
- Parameters:
path
- theString
path definition.
- Throws:
BuildException
- on error
public void setRefid(Reference r) throws BuildException
Makes this instance in effect a reference to another Path instance. You must not set another attribute or nest elements inside this element if you make it a reference.
- Parameters:
r
- the reference to another Path
- Throws:
BuildException
- on error
public int size()
Fulfill the ResourceCollection contract.
- Specified by:
- size in interface ResourceCollection
- Returns:
- number of elements as int.
public String toString()
Returns a textual representation of the path, which can be used as CLASSPATH or PATH environment variable definition.
- Returns:
- a textual representation of the path.
public static String translateFile(String source)
Returns its argument with all file separator characters replaced so that they match the local OS conventions.
- Parameters:
source
- the path to convert
- Returns:
- the converted path
protected static boolean translateFileSep(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.
- Parameters:
buffer
- a buffer containing a stringpos
- the position in the string buffer to convert
- Returns:
- true if the character was a / or \
public static String[] translatePath(Project project, String source)
Splits a PATH (with : or ; as separators) into its parts.
- Parameters:
project
- the project to usesource
- aString
value
- Returns:
- an array of strings, one for each path element