Class ImagingParameterDescriptors

All Implemented Interfaces:
Serializable, GeneralParameterDescriptor, ParameterDescriptorGroup, IdentifiedObject
Direct Known Subclasses:
ExtendedImagingParameterDescriptors

public class ImagingParameterDescriptors extends DefaultParameterDescriptorGroup
Wraps a JAI's ParameterListDescriptor. This adaptor is provided for interoperability with Java Advanced Imaging. A JAI parameter list descriptor is part of an operation descriptor. This adaptor make it easier to access parameters for a JAI operation through the general GeoAPI parameters framework.
Since:
2.2
Author:
Martin Desruisseaux (IRD)
See Also:
  • Field Details

    • DEFAULT_SOURCE_TYPE_MAP

      public static final Map<Class<?>,Class<?>> DEFAULT_SOURCE_TYPE_MAP
      The default source type map as a (RenderedImage.class, GridCoverage.class) key-value pair. This is the default argument for wrapping a JAI operation in the "rendered" registry mode.
    • registryMode

      protected final String registryMode
      The registry mode, usually "rendered". This field is null if operation is null.
    • operation

      protected final RegistryElementDescriptor operation
      The JAI's operation descriptor, or null if none. This is usually an instance of OperationDescriptor, but this is not strictly required.
    • descriptor

      protected final ParameterListDescriptor descriptor
      The Java Advanced Imaging parameter descriptor. If operation is non-null, then this attribute is defined by RegistryElementDescriptor.getParameterListDescriptor(java.lang.String).
  • Constructor Details

    • ImagingParameterDescriptors

      public ImagingParameterDescriptors(RegistryElementDescriptor operation)
      Constructs a parameter descriptor wrapping the specified JAI operation, including sources. The name for this parameter group will be inferred from the name of the supplied registry element using the properties method.

      The source type map default to a (RenderedImage.class , GridCoverage.class) key-value pair and the registry mode default to "rendered".

      Parameters:
      operation - The JAI's operation descriptor, usually as an instance of OperationDescriptor.
    • ImagingParameterDescriptors

      public ImagingParameterDescriptors(RegistryElementDescriptor operation, Collection<ParameterDescriptor> extension)
      Constructs a parameter descriptor wrapping the specified JAI operation, including sources. The name for this parameter group will be inferred from the name of the supplied registry element using the properties method.

      The source type map default to a (RenderedImage.class , GridCoverage.class) key-value pair and the registry mode default to "rendered".

      Parameters:
      operation - The JAI's operation descriptor, usually as an instance of OperationDescriptor.
      extension - Additional parameters to put in this descriptor, or null if none. If a parameter has the same name than an operation parameter, then the extension overrides the later.
      Since:
      2.4
    • ImagingParameterDescriptors

      public ImagingParameterDescriptors(Map<String,?> properties, RegistryElementDescriptor operation, String registryMode, Map<Class<?>,Class<?>> sourceTypeMap, Collection<ParameterDescriptor> extension)
      Constructs a parameter descriptor wrapping the specified JAI operation, including sources. The properties map is given unchanged to the super-class constructor.
      Parameters:
      properties - Set of properties. Should contains at least "name".
      operation - The JAI's operation descriptor, usually as an instance of OperationDescriptor.
      registryMode - The JAI's registry mode (usually "rendered").
      sourceTypeMap - Mapping from JAI source type to this group source type. Typically a singleton with the ( RenderedImage.class, GridCoverage.class) key-value pair.
      extension - Additional parameters to put in this descriptor, or null if none. If a parameter has the same name than an operation parameter, then the extension overrides the later.
      Since:
      2.4
    • ImagingParameterDescriptors

      public ImagingParameterDescriptors(Map<String,?> properties, ParameterListDescriptor descriptor)
      Constructs a parameter descriptor wrapping the specified JAI parameter list descriptor. The properties map is given unchanged to the super-class constructor.
      Parameters:
      properties - Set of properties. Should contains at least "name".
      descriptor - The JAI descriptor.
  • Method Details

    • properties

      public static Map<String,Object> properties(RegistryElementDescriptor operation)
      Infers from the specified JAI operation a set of properties that can be given to the ImagingParameterDescriptors(Map, RegistryElementDescriptor, String, Map, Collection) constructor. The returned map includes values (when available) for the following keys:

      Key Inferred from
      NAME_KEY descriptor name
      ALIAS_KEY "Vendor" (for the scope) and "LocalName" resources
      AUTHORITY_KEY JAI or Geotools inferred from the vendor, extented with "DocURL" resources as contact information.
      VERSION_KEY "Version" resources
      REMARKS_KEY "Description" resources

      For JAI image operation (for example "Add", the end result is fully-qualified name like "JAI:Add" and one alias like "com.sun.media.jai.Add".

      This method returns a modifiable map. Users can safely changes its content in order to select for example a different name.

    • createValue

      public ParameterValueGroup createValue()
      Creates a new instance of parameter value group. A JAI ParameterList is created for holding parameter values, and wrapped into an ImagingParameters instance.
      Specified by:
      createValue in interface GeneralParameterDescriptor
      Specified by:
      createValue in interface ParameterDescriptorGroup
      Overrides:
      createValue in class DefaultParameterDescriptorGroup
      Returns:
      The new value initialized to the default value.
    • equals

      public boolean equals(AbstractIdentifiedObject object, boolean compareMetadata)
      Compares the specified object with this parameter group for equality.
      Overrides:
      equals in class DefaultParameterDescriptorGroup
      Parameters:
      object - The object to compare to this.
      compareMetadata - true for performing a strict comparaison, or false for comparing only properties relevant to transformations.
      Returns:
      true if both objects are equal.
    • hashCode

      public int hashCode()
      Returns a hash value for this parameter. This value doesn't need to be the same in past or future versions of this class.
      Overrides:
      hashCode in class DefaultParameterDescriptorGroup
      Returns:
      The hash code value. This value doesn't need to be the same in past or future versions of this class.