org.apache.tools.ant
public class ProjectHelper extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ANT_CORE_URI
The URI for ant name space
|
static java.lang.String |
ANT_CURRENT_URI
The URI for antlib current definitions
|
static java.lang.String |
ANT_TYPE
Polymorphic attribute
|
static java.lang.String |
ANTLIB_URI
The URI for defined types/tasks - the format is antlib:
|
static java.lang.String |
HELPER_PROPERTY
Name of JVM system property which provides the name of the
ProjectHelper class to use.
|
static java.lang.String |
PROJECTHELPER_REFERENCE
name of project helper reference that we add to a project
|
static java.lang.String |
SERVICE_ID
The service identifier in jars which provide Project Helper
implementations.
|
Constructor and Description |
---|
ProjectHelper()
Default constructor
|
Modifier and Type | Method and Description |
---|---|
static BuildException |
addLocationToBuildException(BuildException ex,
Location newLocation)
Add location to build exception.
|
static void |
addText(Project project,
java.lang.Object target,
char[] buf,
int start,
int count)
Adds the content of #PCDATA sections to an element.
|
static void |
addText(Project project,
java.lang.Object target,
java.lang.String text)
Adds the content of #PCDATA sections to an element.
|
static void |
configure(java.lang.Object target,
org.xml.sax.AttributeList attrs,
Project project)
Deprecated.
since 1.6.x.
Use IntrospectionHelper for each property.
|
static void |
configureProject(Project project,
java.io.File buildFile)
Configures the project with the contents of the specified XML file.
|
static java.lang.String |
extractNameFromComponentName(java.lang.String componentName)
extract the element name from a component name
|
static java.lang.String |
extractUriFromComponentName(java.lang.String componentName)
extract a uri from a component name
|
static java.lang.String |
genComponentName(java.lang.String uri,
java.lang.String name)
Map a namespaced {uri,name} to an internal string format.
|
static java.lang.ClassLoader |
getContextClassLoader()
Deprecated.
since 1.6.x.
Use LoaderUtils.getContextClassLoader()
|
java.util.Vector |
getImportStack()
EXPERIMENTAL WILL_CHANGE
Import stack.
|
static ProjectHelper |
getProjectHelper()
Discovers a project helper instance.
|
void |
parse(Project project,
java.lang.Object source)
Parses the project file, configuring the project as it goes.
|
static void |
parsePropertyString(java.lang.String value,
java.util.Vector fragments,
java.util.Vector propertyRefs)
Deprecated.
since 1.6.x.
Use PropertyHelper.
|
static java.lang.String |
replaceProperties(Project project,
java.lang.String value)
Deprecated.
since 1.6.x.
Use project.replaceProperties().
|
static java.lang.String |
replaceProperties(Project project,
java.lang.String value,
java.util.Hashtable keys)
Deprecated.
since 1.6.x.
Use PropertyHelper.
|
static void |
storeChild(Project project,
java.lang.Object parent,
java.lang.Object child,
java.lang.String tag)
Stores a configured child element within its parent object.
|
public static final java.lang.String ANT_CORE_URI
public static final java.lang.String ANT_CURRENT_URI
public static final java.lang.String ANTLIB_URI
public static final java.lang.String ANT_TYPE
public static final java.lang.String HELPER_PROPERTY
public static final java.lang.String SERVICE_ID
public static final java.lang.String PROJECTHELPER_REFERENCE
public static void configureProject(Project project, java.io.File buildFile) throws BuildException
project
- The project to configure. Must not be null
.buildFile
- An XML file giving the project's configuration.
Must not be null
.BuildException
- if the configuration is invalid or cannot be readpublic java.util.Vector getImportStack()
public void parse(Project project, java.lang.Object source) throws BuildException
project
- The project for the resulting ProjectHelper to configure.
Must not be null
.source
- The source for XML configuration. A helper must support
at least File, for backward compatibility. Helpers may
support URL, InputStream, etc or specialized types.BuildException
- if the configuration is invalid or cannot
be readpublic static ProjectHelper getProjectHelper() throws BuildException
BuildException
- if a specified helper class cannot
be loaded/instantiated.public static java.lang.ClassLoader getContextClassLoader()
null
if the context class loader is unavailable.public static void configure(java.lang.Object target, org.xml.sax.AttributeList attrs, Project project) throws BuildException
target
- The target object to be configured.
Must not be null
.attrs
- A list of attributes to configure within the target.
Must not be null
.project
- The project containing the target.
Must not be null
.BuildException
- if any of the attributes can't be handled by
the targetpublic static void addText(Project project, java.lang.Object target, char[] buf, int start, int count) throws BuildException
project
- The project containing the target.
Must not be null
.target
- The target object to be configured.
Must not be null
.buf
- A character array of the text within the element.
Will not be null
.start
- The start element in the array.count
- The number of characters to read from the array.BuildException
- if the target object doesn't accept textpublic static void addText(Project project, java.lang.Object target, java.lang.String text) throws BuildException
project
- The project containing the target.
Must not be null
.target
- The target object to be configured.
Must not be null
.text
- Text to add to the target.
May be null
, in which case this
method call is a no-op.BuildException
- if the target object doesn't accept textpublic static void storeChild(Project project, java.lang.Object parent, java.lang.Object child, java.lang.String tag)
project
- Project containing the objects.
May be null
.parent
- Parent object to add child to.
Must not be null
.child
- Child object to store in parent.
Should not be null
.tag
- Name of element which generated the child.
May be null
, in which case
the child is not stored.public static java.lang.String replaceProperties(Project project, java.lang.String value) throws BuildException
${xxx}
style constructions in the given value with
the string value of the corresponding properties.project
- The project containing the properties to replace.
Must not be null
.value
- The string to be scanned for property references.
May be null
.null
if the original string is null
.BuildException
- if the string contains an opening
${
without a closing
}
public static java.lang.String replaceProperties(Project project, java.lang.String value, java.util.Hashtable keys) throws BuildException
${xxx}
style constructions in the given value
with the string value of the corresponding data types.project
- The container project. This is used solely for
logging purposes. Must not be null
.value
- The string to be scanned for property references.
May be null
, in which case this
method returns immediately with no effect.keys
- Mapping (String to String) of property names to their
values. Must not be null
.null
if the original string is null
.BuildException
- if the string contains an opening
${
without a closing
}
public static void parsePropertyString(java.lang.String value, java.util.Vector fragments, java.util.Vector propertyRefs) throws BuildException
${xxx}
style property
references into two lists. The first list is a collection
of text fragments, while the other is a set of string property names.
null
entries in the first list indicate a property
reference from the second list.value
- Text to parse. Must not be null
.fragments
- List to add text fragments to.
Must not be null
.propertyRefs
- List to add property names to.
Must not be null
.BuildException
- if the string contains an opening
${
without a closing }
public static java.lang.String genComponentName(java.lang.String uri, java.lang.String name)
uri
- The namepace URIname
- The localnamepublic static java.lang.String extractUriFromComponentName(java.lang.String componentName)
componentName
- The stringified form for {uri, name}public static java.lang.String extractNameFromComponentName(java.lang.String componentName)
componentName
- The stringified form for {uri, name}public static BuildException addLocationToBuildException(BuildException ex, Location newLocation)
ex
- the build exception, if the build exception
does not includenewLocation
- the location of the calling task (may be null)