org.geotools.parameter
Class ImagingParameters

Object
  extended by Formattable
      extended by AbstractParameter
          extended by ImagingParameters
All Implemented Interfaces:
Serializable, Cloneable, GeneralParameterValue, ParameterValueGroup

public class ImagingParameters
extends AbstractParameter
implements ParameterValueGroup

Wraps a JAI's ParameterList. Any change to a parameter value in this group is reflected into the underlying parameter list, and conversely. This adaptor is provided for interoperability with Java Advanced Imaging. A typical usage is to wrap a JAI operation descriptor into an imaging parameter descriptor and create instances of ImagingParameters through the createValue method.

Since:
2.2
Author:
Martin Desruisseaux (IRD)
See Also:
Serialized Form

Field Summary
 ParameterList parameters
          The JAI's parameter list.
 
Fields inherited from class Formattable
SINGLE_LINE
 
Constructor Summary
ImagingParameters(ImagingParameterDescriptors descriptor)
          Constructs a parameter group for the specified descriptor.
ImagingParameters(Map<String,?> properties, ParameterList parameters)
          Constructs a parameter group wrapping the specified JAI parameters.
 
Method Summary
 ParameterValueGroup addGroup(String name)
          Always throws an exception, since JAI's parameter list don't have subgroups.
 ImagingParameters clone()
          Returns a deep copy of this group of parameter values.
 boolean equals(Object object)
          Compares the specified object with this parameter group for equality.
 ParameterDescriptorGroup getDescriptor()
          Returns the abstract definition of this parameter.
 List<ParameterValueGroup> groups(String name)
          Always throws an exception, since JAI's parameter list don't have subgroups.
 int hashCode()
          Returns a hash value for this parameter group.
 ParameterValue parameter(String name)
          Returns the value in this group for the specified identifier code.
 List<GeneralParameterValue> values()
          Returns all values in this group as an unmodifiable list.
 
Methods inherited from class AbstractParameter
formatWKT, toString, write
 
Methods inherited from class Formattable
cleanupThreadLocals, toWKT, toWKT, toWKT, toWKT
 
Methods inherited from class Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

parameters

public final ParameterList parameters
The JAI's parameter list. This is also the backing store for this parameter value group: all "ordinary" parameters (i.e. not including sources) are actually stored in this list.

If the JAI descriptor is an instance of OperationDescriptor, then this parameter list is also an instance of ParameterBlockJAI. The sources must be handled separatly, because the source type for a JAI operator (typically RenderedImage) is not the same than the source type for a coverage operation (typically org.opengis.coverage.GridCoverage).

Constructor Detail

ImagingParameters

public ImagingParameters(ImagingParameterDescriptors descriptor)
Constructs a parameter group for the specified descriptor.

Parameters:
descriptor - The descriptor for this group of parameters.

ImagingParameters

public ImagingParameters(Map<String,?> properties,
                         ParameterList parameters)
Constructs a parameter group wrapping the specified JAI parameters. A default ImagingParameterDescriptors is created.

Parameters:
properties - Set of properties. Should contains at least "name".
parameters - The JAI's parameters.
Method Detail

getDescriptor

public ParameterDescriptorGroup getDescriptor()
Returns the abstract definition of this parameter.

Specified by:
getDescriptor in interface GeneralParameterValue
Specified by:
getDescriptor in interface ParameterValueGroup
Overrides:
getDescriptor in class AbstractParameter
Returns:
The abstract definition of this parameter or group of parameters.

values

public List<GeneralParameterValue> values()
Returns all values in this group as an unmodifiable list. The returned list contains all parameters found in the underlying parameter list. In addition, it may contains sources found in the JAI's operation descriptor.

Specified by:
values in interface ParameterValueGroup
Returns:
The values in this group.

parameter

public ParameterValue parameter(String name)
                         throws ParameterNotFoundException
Returns the value in this group for the specified identifier code. Getter and setter methods will use directly the JAI's parameter list as the underlying backing store, when applicable.

Specified by:
parameter in interface ParameterValueGroup
Parameters:
name - The case insensitive identifier code of the parameter to search for.
Returns:
The parameter value for the given identifier code.
Throws:
ParameterNotFoundException - if there is no parameter value for the given identifier code.

groups

public List<ParameterValueGroup> groups(String name)
                                 throws ParameterNotFoundException
Always throws an exception, since JAI's parameter list don't have subgroups.

Specified by:
groups in interface ParameterValueGroup
Parameters:
name - The case insensitive identifier code of the parameter group to search for.
Returns:
The set of all parameter group for the given identifier code.
Throws:
ParameterNotFoundException - if no descriptor was found for the given name.

addGroup

public ParameterValueGroup addGroup(String name)
                             throws ParameterNotFoundException
Always throws an exception, since JAI's parameter list don't have subgroups.

Specified by:
addGroup in interface ParameterValueGroup
Parameters:
name - The case insensitive identifier code of the parameter group to create.
Returns:
A newly created parameter group for the given identifier code.
Throws:
ParameterNotFoundException - if no descriptor was found for the given name.

equals

public boolean equals(Object object)
Compares the specified object with this parameter group for equality.

Overrides:
equals in class AbstractParameter
Parameters:
object - The object to compare to this.
Returns:
true if both objects are equal.

hashCode

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

Overrides:
hashCode in class AbstractParameter

clone

public ImagingParameters clone()
Returns a deep copy of this group of parameter values.

Specified by:
clone in interface GeneralParameterValue
Specified by:
clone in interface ParameterValueGroup
Overrides:
clone in class AbstractParameter
Returns:
A copy of this parameter value or group.
See Also:
Object.clone()


Copyright © 1996-2014 Geotools. All Rights Reserved.