org.apache.tools.ant
Class AntTypeDefinition

java.lang.Object
  |
  +--org.apache.tools.ant.AntTypeDefinition
Direct Known Subclasses:
PreSetDef.PreSetDefinition

public class AntTypeDefinition
extends java.lang.Object

This class contains all the information on a particular ant type, the classname, adaptor and the class it should be assignable from. This type replaces the task/datatype split of pre ant 1.6.


Constructor Summary
AntTypeDefinition()
           
 
Method Summary
 void checkClass(Project project)
          Checks if the attributes are correct.
 java.lang.Object create(Project project)
          create an instance of the definition.
 java.lang.ClassLoader getClassLoader()
          get the classloader for this definition
 java.lang.String getClassName()
          get the classname of the definition
 java.lang.Class getExposedClass(Project project)
          get the exposed class for this definition.
 java.lang.String getName()
          return the definition's name
 java.lang.Class getTypeClass(Project project)
          get the definition class
 boolean sameDefinition(AntTypeDefinition other, Project project)
          Equality method for this definition (assumes the names are the same)
 void setAdapterClass(java.lang.Class adapterClass)
          set the adapter class for this definition.
 void setAdaptToClass(java.lang.Class adaptToClass)
          set the assignable class for this definition.
 void setClass(java.lang.Class clazz)
          set the class of the definition.
 void setClassLoader(java.lang.ClassLoader classLoader)
          set the classloader to use to create an instance of the definition
 void setClassName(java.lang.String className)
          set the classname of the definition
 void setName(java.lang.String name)
          set the definition's name
 boolean similarDefinition(AntTypeDefinition other, Project project)
          Similar definition used to compare two definitions defined twice with the same name and the same types.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AntTypeDefinition

public AntTypeDefinition()
Method Detail

setName

public void setName(java.lang.String name)
set the definition's name

Parameters:
name - the name of the definition

getName

public java.lang.String getName()
return the definition's name

Returns:
the name of the definition

setClass

public void setClass(java.lang.Class clazz)
set the class of the definition. as a side-effect may set the classloader and classname

Parameters:
clazz - the class of this definition

setClassName

public void setClassName(java.lang.String className)
set the classname of the definition

Parameters:
className - the classname of this definition

getClassName

public java.lang.String getClassName()
get the classname of the definition

Returns:
the name of the class of this definition

setAdapterClass

public void setAdapterClass(java.lang.Class adapterClass)
set the adapter class for this definition. this class is used to adapt the definitions class if required.

Parameters:
adapterClass - the adapterClass

setAdaptToClass

public void setAdaptToClass(java.lang.Class adaptToClass)
set the assignable class for this definition.

Parameters:
adaptToClass - the assignable class

setClassLoader

public void setClassLoader(java.lang.ClassLoader classLoader)
set the classloader to use to create an instance of the definition

Parameters:
classLoader - the classLoader

getClassLoader

public java.lang.ClassLoader getClassLoader()
get the classloader for this definition

Returns:
the classloader for this definition

getExposedClass

public java.lang.Class getExposedClass(Project project)
get the exposed class for this definition. This will be a proxy class (adapted class) if there is an adapter class and the definition class is not assignable from the assignable class.

Parameters:
project - the current project
Returns:
the exposed class

getTypeClass

public java.lang.Class getTypeClass(Project project)
get the definition class

Parameters:
project - the current project
Returns:
the type of the definition

create

public java.lang.Object create(Project project)
create an instance of the definition. The instance may be wrapped in a proxy class.

Parameters:
project - the current project
Returns:
the created object

checkClass

public void checkClass(Project project)
Checks if the attributes are correct.
  • if the class can be created.
  • if an adapter class can be created
  • if the type is assignable from adapto
  • if the type can be used with the adapter class
  • Parameters:
    project - the current project

    sameDefinition

    public boolean sameDefinition(AntTypeDefinition other,
                                  Project project)
    Equality method for this definition (assumes the names are the same)

    Parameters:
    other - another definition
    project - the project the definition
    Returns:
    true if the definitions are the same

    similarDefinition

    public boolean similarDefinition(AntTypeDefinition other,
                                     Project project)
    Similar definition used to compare two definitions defined twice with the same name and the same types. the classloader may be different but have the same path so #sameDefinition cannot be used.

    Parameters:
    other - the definition to compare to
    project - the current project
    Returns:
    true if the definitions are the same


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