Class 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 a Task in a special class loader that allows us to control where to load 2.1 APIs, even if we run in Java 6.

    No JDK 1.5 code here, please. This allows us to detect "require JDK5" bug nicely.

    Author:
    Kohsuke Kawaguchi, Bhakti Mehta
    • Field Summary

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

        target, taskName, taskType, wrapper
      • Fields inherited from class org.apache.tools.ant.ProjectComponent

        description, location, project
    • Constructor Summary

      Constructors 
      Constructor Description
      ProtectedTask()  
    • Constructor Detail

      • ProtectedTask

        public ProtectedTask()
    • Method Detail

      • setDynamicAttribute

        public void setDynamicAttribute​(String name,
                                        String value)
                                 throws org.apache.tools.ant.BuildException
        Specified by:
        setDynamicAttribute in interface org.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 interface org.apache.tools.ant.DynamicElement
        Throws:
        org.apache.tools.ant.BuildException
      • execute

        public void execute()
                     throws org.apache.tools.ant.BuildException
        Overrides:
        execute in class org.apache.tools.ant.Task
        Throws:
        org.apache.tools.ant.BuildException
      • getCoreClassName

        protected abstract String getCoreClassName()
        Returns the name of the class that extends Task. This class will be loaded int the protected classloader.