This interface provides a comprehensive description of a specific image operation. All information regarding the operation, such as its name, version, input, and properties should be listed. Any conditions placed on the operation, such as its source class types and legal parameter range, should also be included, and the methods to enforce these conditions should be implemented. A set of
PropertyGenerator
s may be specified to be used as a basis for the operation's property management.
Each image operation in JAI must have a descriptor that implements this interface. The following basic resource data must be provided:
- A global operation name that is visible to all and is the same in all
Locale
s. - A localized operation name that may be used as a synonym for the global operation name.
- The name of the vendor defining this operation.
- A brief description of this operation.
- An URL where additional documentation on this operation may be found.
- The version of this operation.
Additional information must be provided when appropriate. Only then can this operation be added to an
OperationRegistry
. Furthermore, it is recommended that a detailed description of the operation's functionality be included in the class comments.
JAI currently knows about the following operation modes : "rendered", "renderable", "collection" and "renderableCollection" (these form a subset of the known registry modes returned by RegistryMode.getModes()
). All mode names are dealt with in a case insensitive (but retentive) manner. All modes have to accept the same number of source images and the same number of parameters. All the source names and parameter names are also the same across all modes. The class types of the sources and parameters can be different for each mode.
For example an operation supporting the "rendered" mode takes RenderedImage
s as its sources, can only be used in a rendered operation chain, and produces a RenderedImage
. An operation supporting the renderable mode takes RenderableImage
s as its sources, can only be used in a renderable operation chain, and produces a RenderableImage
.
@see JAI
@see OperationDescriptorImpl