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

# Class ImageIOTask

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.ImageIOTask

All Implemented Interfaces:
  `Cloneable`, `SelectorContainer`

public class ImageIOTask extends MatchingTask
A MatchingTask which relies on Java ImageIO to read existing image files and write the results of AWT image manipulation operations. The operations are represented as ImageOperation DataType objects. The task replaces a JAI-based Image task which no longer works with Java 9+.

See Also:
  - `ImageOperation`
  - `DataType`

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`ImageIOTask.ImageFormat`
defines acceptable image formats.

## Field Summary

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

## Method Summary

Modifier and Type
Method
Description
`void`
`add(ImageOperation instr)`
Add an ImageOperation to chain.
`void`
`add(FileNameMapper fileNameMapper)`
Add a nested filenamemapper.
`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(File srcDir, String[] srcNames, File dstDir, FileNameMapper mapper)`
Executes all the chained ImageOperations on the files inside the directory.
`void`
`processFile(File file)`
Deprecated.
this method isn't used anymore
`void`
`processFile(File file, File newFile)`
Executes all the chained ImageOperations on the file specified.
`void`
`setDestDir(File destDir)`
Set the destination directory for manipulated images.
`void`
`setFailOnError(boolean flag)`
Set whether to fail on error.
`void`
`setFormat(ImageIOTask.ImageFormat format)`
Set the output image format.
`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(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`

## Constructor Details

### ImageIOTask

public ImageIOTask()

## Method Details

### 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 flag)
Set whether to fail on error. If false, note errors to the output but keep going.

Parameters:
  `flag` - true or false.

### setSrcdir

public void setSrcdir(File srcDir)
Set the source dir to find the image files.

Parameters:
  `srcDir` - the directory in which the image files reside.

### setFormat

public void setFormat(ImageIOTask.ImageFormat format)
Set the output image format.

Parameters:
  `format` - an ImageFormat.

### 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(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(File srcDir, String[] srcNames, File dstDir, FileNameMapper mapper)
Executes all the chained ImageOperations on the files inside the directory.

Parameters:
  `srcDir` - File
  `srcNames` - String[]
  `dstDir` - File
  `mapper` - FileNameMapper
Returns:
  int
Since:
  Ant 1.8.0

### processFile

@Deprecated public void processFile(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(File file, 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.