Rotate (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.types.optional.image, class: Rotate

# Class Rotate

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.optional.image.ImageOperation
org.apache.tools.ant.types.optional.image.TransformOperation
org.apache.tools.ant.types.optional.image.Rotate

All Implemented Interfaces:
  `Cloneable, DrawOperation`

public class Rotate extends TransformOperation implements DrawOperation
ImageOperation to rotate an image by a certain degree

See Also:
  - `Image`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected float`
  `angle`

  ### Fields inherited from class ImageOperation

  `instructions`
  Modifier and Type
  Field
  Description
  `protected Vector<ImageOperation>`
  `instructions`

  ### Fields inherited from class DataType

  `checked, ref`
  Modifier and Type
  Field
  Description
  `protected boolean`
  `checked`
  Deprecated.
  since 1.7.
  `protected Reference`
  `ref`
  Deprecated.
  since 1.7.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Rotate()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `javax.media.jai.PlanarImage`
  `executeDrawOperation()`
  Performs the image rotation when being handled as a DrawOperation.
  `javax.media.jai.PlanarImage`
  `executeTransformOperation(javax.media.jai.PlanarImage image)`
  Performs the image rotation when being handled as a TransformOperation.
  `javax.media.jai.PlanarImage`
  `performRotate(javax.media.jai.PlanarImage image)`
  Rotate an image.
  `void`
  `setAngle(String ang)`
  Sets the angle of rotation in degrees.

  ### Methods inherited from class TransformOperation

  `addRectangle`
  Modifier and Type
  Method
  Description
  `void`
  `addRectangle(Rectangle instr)`
  Add a rectangle to the operation.

  ### Methods inherited from class ImageOperation

  `addDraw, addRotate, addScale, addText`
  Modifier and Type
  Method
  Description
  `void`
  `addDraw(Draw instr)`
  Add a draw to the operation.
  `void`
  `addRotate(Rotate instr)`
  Add a rotate to the operation.
  `void`
  `addScale(Scale instr)`
  Add a scale to the operation.
  `void`
  `addText(Text instr)`
  Add text to the operation.

  ### Methods inherited from class DataType

  `checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes, toString`
  Modifier and Type
  Method
  Description
  `protected void`
  `checkAttributesAllowed()`
  check that it is ok to set attributes, i.e that no reference is defined
  `protected void`
  `checkChildrenAllowed()`
  check that it is ok to add children, i.e that no reference is defined
  `protected BuildException`
  `circularReference()`
  Creates an exception that indicates the user has generated a loop of data types referencing each other.
  `Object`
  `clone()`
  `protected void`
  `dieOnCircularReference()`
  Convenience method.
  `protected void`
  `dieOnCircularReference(Stack<Object> stack, Project project)`
  Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).
  `protected void`
  `dieOnCircularReference(Project p)`
  Convenience method.
  `protected <T> T`
  `getCheckedRef()`
  Deprecated.
  use getCheckedRef(Class)
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass, String dataTypeName)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass, String dataTypeName, Project project)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Project p)`
  Deprecated.
  use getCheckedRef(Class)
  `protected String`
  `getDataTypeName()`
  Gets as descriptive as possible a name used for this datatype instance.
  `Reference`
  `getRefid()`
  get the reference set on this object
  `static void`
  `invokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p)`
  Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.
  `protected boolean`
  `isChecked()`
  The flag that is used to indicate that circular references have been checked.
  `boolean`
  `isReference()`
  Has the refid attribute of this element been set?
  `protected BuildException`
  `noChildrenAllowed()`
  Creates an exception that indicates that this XML element must not have child elements if the refid attribute is set.
  `static void`
  `pushAndInvokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p)`
  Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.
  `protected void`
  `setChecked(boolean checked)`
  Set the flag that is used to indicate that circular references have been checked.
  `void`
  `setRefid(Reference ref)`
  Set the value of the refid attribute.
  `protected BuildException`
  `tooManyAttributes()`
  Creates an exception that indicates that refid has to be the only attribute if it is set.
  `String`
  `toString()`
  Basic DataType toString().

  ### Methods inherited from class ProjectComponent

  `getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### angle

    protected float angle

- ## Constructor Details

  - ### Rotate

    public Rotate()

- ## Method Details

  - ### setAngle

    public void setAngle(String ang)
    Sets the angle of rotation in degrees.
    Parameters:
      `ang` - The angle at which to rotate the image

  - ### performRotate

    public javax.media.jai.PlanarImage performRotate(javax.media.jai.PlanarImage image)
    Rotate an image.
    Parameters:
      `image` - the image to rotate.
    Returns:
      the rotated image.

  - ### executeTransformOperation

    public javax.media.jai.PlanarImage executeTransformOperation(javax.media.jai.PlanarImage image)
    Performs the image rotation when being handled as a TransformOperation.
    Specified by:
      `executeTransformOperation` in class `TransformOperation`
    Parameters:
      `image` - The image to perform the transformation on.
    Returns:
      the transformed image.

  - ### executeDrawOperation

    public javax.media.jai.PlanarImage executeDrawOperation()
    Performs the image rotation when being handled as a DrawOperation. It absolutely requires that there be a DrawOperation nested beneath it, but only the FIRST DrawOperation will be handled since it can only return ONE image.
    Specified by:
      `executeDrawOperation` in interface `DrawOperation`
    Returns:
      the image.