## 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.

Author:
  Peter Reilly

Constructor Summary
`AntTypeDefinition()`

Method Summary
`void` `checkClass(Project project)` check 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
`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)

  check 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-2003 Apache Software Foundation. All Rights Reserved.