Class Definer
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.AntlibDefinition
org.apache.tools.ant.taskdefs.DefBase
org.apache.tools.ant.taskdefs.Definer
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
Componentdef, Typedef
Base class for Taskdef and Typedef - handles all
the attributes for Typedef. The uri and class
handling is handled by DefBase
- Since:
- Ant 1.4
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classEnumerated type for format attributestatic classEnumerated type for onError attribute -
Field Summary
Fields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddDefinition(ClassLoader al, String name, String classname) Add a definition using the attributes of Definervoidexecute()Run the definition.Returns the classname of the object we are defining.getFile()getName()protected voidloadProperties(ClassLoader al, URL url) Load type definitions as properties from a URL.static StringThis is where the logic to map from a URI to an antlib resource is kept.voidsetAdapter(String adapter) Set the class name of the adapter class.protected voidsetAdapterClass(Class<?> adapterClass) Set the adapter class.voidsetAdaptTo(String adaptTo) Set the classname of the class that the definition must be compatible with, either directly or by use of the adapter class.protected voidsetAdaptToClass(Class<?> adaptToClass) Set the class for adaptToClass, to be used by derived classes, used instead of the adaptTo attribute.voidAntlib attribute, sets resource and uri.voidsetClassname(String classname) The full class name of the object being defined.voidName of the property file to load ant name/classname pairs from.voidsetFormat(Definer.Format format) Sets the format of the file or resourcevoidName of the definitionvoidsetOnError(Definer.OnError onError) What to do if there is an error in loading the class.voidsetResource(String res) Name of the property resource to load ant name/classname pairs from.protected voidsetRestrict(boolean restrict) The restrict attribute.Methods inherited from class DefBase
createClasspath, createLoader, getClasspath, getClasspathId, getLoaderId, hasCpDelegate, init, isReverseLoader, setClasspath, setClasspathRef, setLoaderRef, setReverseLoaderModifier and TypeMethodDescriptionCreate the classpath to be used when searching for component being defined.protected ClassLoadercreate a classloader for this definitionReturns the class path id of the class path delegate.Returns the loader id of the class path Delegate.protected booleanCheck if classpath attributes have been set.voidinit()Called by the project to let the task initialize properly.booleanvoidsetClasspath(Path classpath) Set the classpath to be used when searching for component being defined.voidSet a reference to a classpath to use when loading the files.voidUse the reference to locate the loader.voidsetReverseLoader(boolean reverseLoader) Deprecated.since 1.6.x.Methods inherited from class AntlibDefinition
getAntlibClassLoader, getURI, setAntlibClassLoader, setURIModifier and TypeMethodDescriptionThe current antlib classloadergetURI()The URI for this definition.voidsetAntlibClassLoader(ClassLoader classLoader) Set the class loader of the loading objectvoidThe URI for this definition.Methods inherited from class Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.
-
Constructor Details
-
Definer
public Definer()
-
-
Method Details
-
setRestrict
protected void setRestrict(boolean restrict) The restrict attribute. If this is true, only use this definition in add(X).- Parameters:
restrict- the value to set.
-
setOnError
What to do if there is an error in loading the class.- error - throw build exception
- report - output at warning level
- ignore - output at debug level
- Parameters:
onError- anOnErrorvalue
-
setFormat
Sets the format of the file or resource- Parameters:
format- the enumerated value - xml or properties
-
getName
- Returns:
- the name for this definition
-
getFile
- Returns:
- the file containing definitions
-
getResource
- Returns:
- the resource containing definitions
-
execute
Run the definition.- Overrides:
executein classTask- Throws:
BuildException- if an error occurs
-
makeResourceFromURI
-
loadProperties
Load type definitions as properties from a URL.- Parameters:
al- the classloader to useurl- the url to get the definitions from
-
setFile
Name of the property file to load ant name/classname pairs from.- Parameters:
file- the file
-
setResource
Name of the property resource to load ant name/classname pairs from.- Parameters:
res- the resource to use
-
setAntlib
Antlib attribute, sets resource and uri. uri is set the antlib value and, resource is set to the antlib.xml resource in the classpath. For example antlib="antlib:org.acme.bland.cola" corresponds to uri="antlib:org.acme.bland.cola" resource="org/acme/bland/cola/antlib.xml". ASF Bugzilla Bug 31999- Parameters:
antlib- the value to set.
-
setName
Name of the definition- Parameters:
name- the name of the definition
-
getClassname
Returns the classname of the object we are defining. May benull.- Returns:
- the class name
-
setClassname
The full class name of the object being defined. Required, unless file or resource have been specified.- Parameters:
classname- the name of the class
-
setAdapter
Set the class name of the adapter class. An adapter class is used to proxy the definition class. It is used if the definition class is not assignable to the adaptto class, or if the adaptto class is not present.- Parameters:
adapter- the name of the adapter class
-
setAdapterClass
Set the adapter class.- Parameters:
adapterClass- the class to use to adapt the definition class
-
setAdaptTo
Set the classname of the class that the definition must be compatible with, either directly or by use of the adapter class.- Parameters:
adaptTo- the name of the adaptto class
-
setAdaptToClass
Set the class for adaptToClass, to be used by derived classes, used instead of the adaptTo attribute.- Parameters:
adaptToClass- the class for adaptor.
-
addDefinition
Add a definition using the attributes of Definer- Parameters:
al- the ClassLoader to usename- the name of the definitionclassname- the classname of the definition- Throws:
BuildException- if an error occurs
-