org.apache.tools.ant.taskdefs

Class Definer

Known Direct Subclasses:
Typedef

public abstract class Definer
extends DefBase

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

static class
Definer.Format
Enumerated type for format attribute
static class
Definer.OnError
Enumerated type for onError attribute

Field Summary

Fields inherited from class org.apache.tools.ant.Task

description, location, target, taskName, taskType, wrapper

Fields inherited from class org.apache.tools.ant.ProjectComponent

project

Method Summary

protected void
addDefinition(ClassLoader al, String name, String classname)
Add a definition using the attributes of Definer
void
execute()
Run the definition.
String
getClassname()
Returns the classname of the object we are defining.
File
getFile()
String
getName()
String
getResource()
protected void
loadProperties(ClassLoader al, URL url)
Load type definitions as properties from a url.
void
setAdaptTo(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 void
setAdaptToClass(Class adaptToClass)
Set the class for adaptToClass, to be used by derived classes, used instead of the adaptTo attribute.
void
setAdapter(String adapter)
Set the class name of the adapter class.
protected void
setAdapterClass(Class adapterClass)
Set the adapter class.
void
setClassname(String classname)
The full class name of the object being defined.
void
setFile(File file)
Name of the property file to load ant name/classname pairs from.
void
setFormat(Definer.Format format)
Sets the format of the file or resource
void
setName(String name)
Name of the definition
void
setOnError(Definer.OnError onError)
What to do if there is an error in loading the class.
void
setResource(String res)
Name of the property resource to load ant name/classname pairs from.

Methods inherited from class org.apache.tools.ant.taskdefs.DefBase

createClasspath, createLoader, getClasspath, getClasspathId, getLoaderId, init, isReverseLoader, setClasspath, setClasspathRef, setLoaderRef, setReverseLoader

Methods inherited from class org.apache.tools.ant.taskdefs.AntlibDefinition

getAntlibClassLoader, getURI, setAntlibClassLoader, setURI

Methods inherited from class org.apache.tools.ant.Task

execute, getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

Methods inherited from class org.apache.tools.ant.ProjectComponent

getProject, log, log, setProject

Method Details

addDefinition

protected void addDefinition(ClassLoader al,
                             String name,
                             String classname)
            throws BuildException
Add a definition using the attributes of Definer

Parameters:
al - the ClassLoader to use
name - the name of the definition
classname - the classname of the definition

Throws:
BuildException - if an error occurs


execute

public void execute()
            throws BuildException
Run the definition.
Overrides:
execute in interface Task

Throws:
BuildException - if an error occurs


getClassname

public String getClassname()
Returns the classname of the object we are defining. May be null.

Returns:
the class name


getFile

public File getFile()

Returns:
the file containing definitions


getName

public String getName()

Returns:
the name for this definition


getResource

public String getResource()

Returns:
the resource containing definitions


loadProperties

protected void loadProperties(ClassLoader al,
                              URL url)
Load type definitions as properties from a url.

Parameters:
al - the classloader to use
url - the url to get the definitions from


setAdaptTo

public void setAdaptTo(String adaptTo)
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

protected void setAdaptToClass(Class adaptToClass)
Set the class for adaptToClass, to be used by derived classes, used instead of the adaptTo attribute.

Parameters:
adaptToClass - the class for adapto.


setAdapter

public void setAdapter(String adapter)
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

protected void setAdapterClass(Class adapterClass)
Set the adapter class.

Parameters:
adapterClass - the class to use to adapt the definition class


setClassname

public void setClassname(String classname)
The full class name of the object being defined. Required, unless file or resource have been specified.

Parameters:
classname - the name of the class


setFile

public void setFile(File file)
Name of the property file to load ant name/classname pairs from.

Parameters:
file - the file


setFormat

public void setFormat(Definer.Format format)
Sets the format of the file or resource

Parameters:
format - the enumerated value - xml or properties


setName

public void setName(String name)
Name of the definition

Parameters:
name - the name of the definition


setOnError

public void setOnError(Definer.OnError onError)
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 - an OnError value


    setResource

    public void setResource(String res)
    Name of the property resource to load ant name/classname pairs from.

    Parameters:
    res - the resource to use


    Copyright B) 2000-2005 Apache Software Foundation. All Rights Reserved.