<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <title>AntObjects</title>
</head>
<body link="#0000FF" vlink="#800080">

<center>
<h1>
AntObjects</h1></center>
<b><i>Identifier: </i></b>org.eclipse.ant.core.antObjects<p><b><i>Description: </i></b>Allows
plug-ins to define arbitrary classes for use by the Ant infrastructure.&nbsp;
For example, in the case of a Javac compiler adapters, the compiler adapter
factory can be supplied, via a property setting, with the name of an adapter
class to use.&nbsp; Unfortunately, it is unlikely that the Ant Core plug-in
would have this class on its classpath (or that of any of its
prerequisites).&nbsp; To address this, clients should define an extension which
plugs into this extension-point and maps a name onto a class.&nbsp; The Ant
plug-in can then request that the declaring plug-in load the specified class.
<p><b><i>Configuration Markup:&nbsp; </i></b>
<p><tt>&nbsp;&nbsp; &lt;!ELEMENT antObject EMPTY&gt;</tt>
<br><tt>&nbsp;&nbsp; &lt;!ATTLIST antObject</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CDATA #REQUIRED</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CDATA #REQUIRED</tt>
<br><tt>&nbsp;&nbsp; ></tt>
<ul>
<li>
<b>name -</b> name of the class to be defined</li>

<li>
<b>class</b> - the fully qualified name of a Java class</li>
</ul>
<p><i><b>Examples: </b> </i>The following is an example of an object
declaration:
<p><tt>&nbsp;&nbsp; &lt;extension point=&quot;org.eclipse.ant.core.antObject&quot;&gt;</tt><br>
<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;antObject name=&quot;com.example.Foo&quot;
class=&quot;com.example.Foo&quot;/&gt;</tt><br>
<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt>
<p><b><i>API Information</i>:</b><i> </i>The objects declared via this
extension-point are accessible though the following API:<p><tt>&nbsp;&nbsp;
org.eclipse.core.ant.AntPlugin.getObjectExtensions</tt>
<p><b><i>Supplied Implementation:</i></b>  The platform itself does not supply
any object extension.
<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
</body>
</html>
