CallTarget (Apache Ant API)
Date: 2017-02-02

org.apache.tools.ant.taskdefs

## Class CallTarget

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.CallTarget

- All Implemented Interfaces:
    java.lang.Cloneable

      public class CallTarget
      extends Task

  Call another target in the same project.

          <target name="foo">
            <antcall target="bar">
              <param name="property1" value="aaaaa" />
              <param name="foo" value="baz" />
             </antcall>
          </target>

          <target name="bar" depends="init">
            <echo message="prop is ${property1} ${foo}" />
          </target>

  This only works as expected if neither property1 nor foo are defined in the project itself.

  Since:
    Ant 1.2

- - ### 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 and Description
    `CallTarget()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConfiguredTarget(Ant.TargetElement t)` Add a target to the list of targets to invoke.
    `void` | `addPropertyset(PropertySet ps)` Set of properties to pass to the new project.
    `void` | `addReference(Ant.Reference r)` Reference element identifying a data type to carry over to the invoked target.
    `Property` | `createParam()` Create a new Property to pass to the invoked target(s).
    `void` | `execute()` Delegate the work to the ant task instance, after setting it up.
    `void` | `handleErrorFlush(java.lang.String output)` Handle error output.
    `void` | `handleErrorOutput(java.lang.String output)` Handle error output.
    `void` | `handleFlush(java.lang.String output)` Handles output.
    `int` | `handleInput(byte[] buffer, int offset, int length)` Handles input.
    `void` | `handleOutput(java.lang.String output)` Handles output.
    `void` | `init()` Initialize this task by creating new instance of the ant task and configuring it by calling its own init method.
    `void` | `setInheritAll(boolean inherit)` If true, pass all properties to the new Ant project.
    `void` | `setInheritRefs(boolean inheritRefs)` If true, pass all references to the new Ant project.
    `void` | `setTarget(java.lang.String target)` Set target to execute.

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CallTarget

          public CallTarget()

  - ### Method Detail

    - #### setInheritAll

          public void setInheritAll(boolean inherit)

      If true, pass all properties to the new Ant project. Defaults to true.
      Parameters:
        `inherit` - `boolean` flag.

    - #### setInheritRefs

          public void setInheritRefs(boolean inheritRefs)

      If true, pass all references to the new Ant project. Defaults to false.
      Parameters:
        `inheritRefs` - `boolean` flag.

    - #### init

          public void init()

      Initialize this task by creating new instance of the ant task and configuring it by calling its own init method.
      Overrides:
        `init` in class `Task`

    - #### execute

          public void execute()
                       throws BuildException

      Delegate the work to the ant task instance, after setting it up.
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - on validation failure or if the target didn't execute.

    - #### createParam

          public Property createParam()

      Create a new Property to pass to the invoked target(s).
      Returns:
        a `Property` object.

    - #### addReference

          public void addReference(Ant.Reference r)

      Reference element identifying a data type to carry over to the invoked target.
      Parameters:
        `r` - the specified `Ant.Reference`.
      Since:
        Ant 1.5

    - #### addPropertyset

          public void addPropertyset(PropertySet ps)

      Set of properties to pass to the new project.
      Parameters:
        `ps` - the `PropertySet` to pass.
      Since:
        Ant 1.6

    - #### setTarget

          public void setTarget(java.lang.String target)

      Set target to execute.
      Parameters:
        `target` - the name of the target to execute.

    - #### addConfiguredTarget

          public void addConfiguredTarget(Ant.TargetElement t)

      Add a target to the list of targets to invoke.
      Parameters:
        `t` - `Ant.TargetElement` representing the target.
      Since:
        Ant 1.6.3

    - #### handleOutput

          public void handleOutput(java.lang.String output)

      Handles output. Send it the the new project if is present, otherwise call the super class.
      Overrides:
        `handleOutput` in class `Task`
      Parameters:
        `output` - The string output to output.
      Since:
        Ant 1.5
      See Also:
        `Task.handleOutput(String)`

    - #### handleInput

          public int handleInput(byte[] buffer,
                                 int offset,
                                 int length)
                          throws java.io.IOException

      Handles input. Delegate to the created project, if present, otherwise call the super class.
      Overrides:
        `handleInput` in class `Task`
      Parameters:
        `buffer` - the buffer into which data is to be read.
        `offset` - the offset into the buffer at which data is stored.
        `length` - the amount of data to read.
      Returns:
        the number of bytes read.
      Throws:
        `java.io.IOException` - if the data cannot be read.
      Since:
        Ant 1.6
      See Also:
        `Task.handleInput(byte[], int, int)`

    - #### handleFlush

          public void handleFlush(java.lang.String output)

      Handles output. Send it the the new project if is present, otherwise call the super class.
      Overrides:
        `handleFlush` in class `Task`
      Parameters:
        `output` - The string to output.
      Since:
        Ant 1.5.2
      See Also:
        `Task.handleFlush(String)`

    - #### handleErrorOutput

          public void handleErrorOutput(java.lang.String output)

      Handle error output. Send it the the new project if is present, otherwise call the super class.
      Overrides:
        `handleErrorOutput` in class `Task`
      Parameters:
        `output` - The string to output.
      Since:
        Ant 1.5
      See Also:
        `Task.handleErrorOutput(String)`

    - #### handleErrorFlush

          public void handleErrorFlush(java.lang.String output)

      Handle error output. Send it the the new project if is present, otherwise call the super class.
      Overrides:
        `handleErrorFlush` in class `Task`
      Parameters:
        `output` - The string to output.
      Since:
        Ant 1.5.2
      See Also:
        `Task.handleErrorFlush(String)`