Package com.sun.istack.tools
Class ProtectedTask
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.Task
-
- com.sun.istack.tools.ProtectedTask
-
- All Implemented Interfaces:
Cloneable
,org.apache.tools.ant.DynamicAttribute
,org.apache.tools.ant.DynamicConfigurator
,org.apache.tools.ant.DynamicElement
- Direct Known Subclasses:
WrapperTask
,XJCTask
public abstract class ProtectedTask extends org.apache.tools.ant.Task implements org.apache.tools.ant.DynamicConfigurator
Executes aTask
in a special class loader that allows us to control where to load particular APIs.- Author:
- Kohsuke Kawaguchi, Bhakti Mehta
-
-
Constructor Summary
Constructors Constructor Description ProtectedTask()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract ClassLoader
createClassLoader()
Creates a protective class loader that will host the actual task.Object
createDynamicElement(String name)
void
execute()
protected abstract String
getCoreClassName()
Returns the name of the class that extendsTask
.This class will be loaded int the protected classloader.void
setDynamicAttribute(String name, String value)
-
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
-
-
-
-
Method Detail
-
setDynamicAttribute
public void setDynamicAttribute(String name, String value) throws org.apache.tools.ant.BuildException
- Specified by:
setDynamicAttribute
in interfaceorg.apache.tools.ant.DynamicAttribute
- Throws:
org.apache.tools.ant.BuildException
-
createDynamicElement
public Object createDynamicElement(String name) throws org.apache.tools.ant.BuildException
- Specified by:
createDynamicElement
in interfaceorg.apache.tools.ant.DynamicElement
- Throws:
org.apache.tools.ant.BuildException
-
execute
public void execute() throws org.apache.tools.ant.BuildException
- Overrides:
execute
in classorg.apache.tools.ant.Task
- Throws:
org.apache.tools.ant.BuildException
-
getCoreClassName
protected abstract String getCoreClassName()
Returns the name of the class that extendsTask
.This class will be loaded int the protected classloader.- Returns:
- Task class name
-
createClassLoader
protected abstract ClassLoader createClassLoader() throws ClassNotFoundException, IOException
Creates a protective class loader that will host the actual task.- Returns:
- ClassLoader use d for task execution
- Throws:
ClassNotFoundException
- if required APIs are not foundIOException
- if error happens
-
-