org.apache.tools.ant.taskdefs.optional.image

## Class Image

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.MatchingTask
      - - org.apache.tools.ant.taskdefs.optional.image.Image

- All Implemented Interfaces:
    java.lang.Cloneable, SelectorContainer

      public class Image
      extends MatchingTask

  A MatchingTask which relies on JAI (Java Advanced Imaging) to perform image manipulation operations on existing images. The operations are represented as ImageOperation DataType objects. The operations are arranged to conform to the Chaining Model of JAI. Check out the JAI Programming Guide.
  See Also:
    `ImageOperation`, `DataType`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.io.File` | `destDir`
    `protected java.util.Vector` | `filesets`
    `protected boolean` | `garbage_collect`
    `protected java.util.Vector` | `instructions`
    `protected boolean` | `overwrite`
    `protected java.io.File` | `srcDir`
    `protected java.lang.String` | `str_encoding`

    - ### Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask

      `fileset`

    - ### 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
    `Image()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(FileNameMapper fileNameMapper)` Add a nested filenamemapper.
    `void` | `add(ImageOperation instr)` Add an ImageOperation to chain.
    `void` | `addDraw(Draw instr)` Add a Draw ImageOperation to the chain.
    `void` | `addFileset(FileSet set)` Add a set of files to be deleted.
    `void` | `addImageOperation(ImageOperation instr)` Add an ImageOperation to chain.
    `void` | `addRotate(Rotate instr)` Add a Rotate ImageOperation to the chain.
    `void` | `addScale(Scale instr)` Add a Scale ImageOperation to the chain.
    `Mapper` | `createMapper()` Defines the mapper to map source to destination files.
    `void` | `execute()` Executes the Task.
    `int` | `processDir(java.io.File srcDir, java.lang.String[] srcNames, java.io.File dstDir, FileNameMapper mapper)` Executes all the chained ImageOperations on the files inside the directory.
    `void` | `processFile(java.io.File file)` Deprecated. this method isn't used anymore
    `void` | `processFile(java.io.File file, java.io.File newFile)` Executes all the chained ImageOperations on the file specified.
    `void` | `setDestDir(java.io.File destDir)` Set the destination directory for manipulated images.
    `void` | `setEncoding(java.lang.String encoding)` Set the image encoding type.
    `void` | `setFailOnError(boolean failonerror)` Set whether to fail on error.
    `void` | `setGc(boolean gc)` Set whether to invoke Garbage Collection after each image processed.
    `void` | `setOverwrite(boolean overwrite)` Set whether to overwrite a file if there is a naming conflict.
    `void` | `setSrcdir(java.io.File srcDir)` Set the source dir to find the image files.
    `protected void` | `validateAttributes()` Ensure we have a consistent and legal set of attributes, and set any internal flags necessary based on different combinations of attributes.

    - ### Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

      `add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems`

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

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

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

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

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

- - ### Field Detail

    - #### instructions

          protected java.util.Vector instructions

    - #### overwrite

          protected boolean overwrite

    - #### filesets

          protected java.util.Vector filesets

    - #### srcDir

          protected java.io.File srcDir

    - #### destDir

          protected java.io.File destDir

    - #### str_encoding

          protected java.lang.String str_encoding

    - #### garbage_collect

          protected boolean garbage_collect

  - ### Constructor Detail

    - #### Image

          public Image()

  - ### Method Detail

    - #### addFileset

          public void addFileset(FileSet set)

      Add a set of files to be deleted.
      Parameters:
        `set` - the FileSet to add.

    - #### setFailOnError

          public void setFailOnError(boolean failonerror)

      Set whether to fail on error. If false, note errors to the output but keep going.
      Parameters:
        `failonerror` - true or false.

    - #### setSrcdir

          public void setSrcdir(java.io.File srcDir)

      Set the source dir to find the image files.
      Parameters:
        `srcDir` - the directory in which the image files reside.

    - #### setEncoding

          public void setEncoding(java.lang.String encoding)

      Set the image encoding type. See this table in the JAI Programming Guide.
      Parameters:
        `encoding` - the String image encoding.

    - #### setOverwrite

          public void setOverwrite(boolean overwrite)

      Set whether to overwrite a file if there is a naming conflict.
      Parameters:
        `overwrite` - whether to overwrite.

    - #### setGc

          public void setGc(boolean gc)

      Set whether to invoke Garbage Collection after each image processed. Defaults to false.
      Parameters:
        `gc` - whether to invoke the garbage collector.

    - #### setDestDir

          public void setDestDir(java.io.File destDir)

      Set the destination directory for manipulated images.
      Parameters:
        `destDir` - The destination directory.

    - #### addImageOperation

          public void addImageOperation(ImageOperation instr)

      Add an ImageOperation to chain.
      Parameters:
        `instr` - The ImageOperation to append to the chain.

    - #### addRotate

          public void addRotate(Rotate instr)

      Add a Rotate ImageOperation to the chain.
      Parameters:
        `instr` - The Rotate operation to add to the chain.
      See Also:
        `Rotate`

    - #### addScale

          public void addScale(Scale instr)

      Add a Scale ImageOperation to the chain.
      Parameters:
        `instr` - The Scale operation to add to the chain.
      See Also:
        `Scale`

    - #### addDraw

          public void addDraw(Draw instr)

      Add a Draw ImageOperation to the chain. DrawOperation DataType objects can be nested inside the Draw object.
      Parameters:
        `instr` - The Draw operation to add to the chain.
      See Also:
        `Draw`, `DrawOperation`

    - #### add

          public void add(ImageOperation instr)

      Add an ImageOperation to chain.
      Parameters:
        `instr` - The ImageOperation to append to the chain.
      Since:
        Ant 1.7

    - #### createMapper

          public Mapper createMapper()
                              throws BuildException

      Defines the mapper to map source to destination files.
      Returns:
        a mapper to be configured
      Throws:
        `BuildException` - if more than one mapper is defined
      Since:
        Ant 1.8.0

    - #### add

          public void add(FileNameMapper fileNameMapper)

      Add a nested filenamemapper.
      Parameters:
        `fileNameMapper` - the mapper to add.
      Since:
        Ant 1.8.0

    - #### processDir

          public int processDir(java.io.File srcDir,
                       java.lang.String[] srcNames,
                       java.io.File dstDir,
                       FileNameMapper mapper)

      Executes all the chained ImageOperations on the files inside the directory.
      Since:
        Ant 1.8.0

    - #### processFile

          public void processFile(java.io.File file)

      Deprecated. this method isn't used anymore
      Executes all the chained ImageOperations on the file specified.
      Parameters:
        `file` - The file to be processed.

    - #### processFile

          public void processFile(java.io.File file,
                         java.io.File newFile)

      Executes all the chained ImageOperations on the file specified.
      Parameters:
        `file` - The file to be processed.
        `newFile` - The file to write to.
      Since:
        Ant 1.8.0

    - #### execute

          public void execute()
                       throws BuildException

      Executes the Task.
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - on error.

    - #### validateAttributes

          protected void validateAttributes()
                                     throws BuildException

      Ensure we have a consistent and legal set of attributes, and set any internal flags necessary based on different combinations of attributes.
      Throws:
        `BuildException` - on error.