org.geotoolkit.coverage.processing
Class AbstractOperation

Object
  extended by AbstractOperation
All Implemented Interfaces:
Serializable, Operation
Direct Known Subclasses:
Operation2D

@Immutable
public abstract class AbstractOperation
extends Object
implements Operation, Serializable

Provides descriptive information for a Coverage processing operation. The descriptive information includes such information as the name of the operation, operation description, and number of source grid coverages required for the operation.

This base class implements all methods from the Operation interface. Those methods get the information they need from a ParameterDescriptorGroup object which must be supplied at construction time. Every value class that are assignable to Coverage are considered as a source and will be included in the count returned by getNumSources(). Other parameters are "ordinary" and do not get any special processing.

This base class declares an abstract method, doOperation, which must be implemented by subclasses. This base class makes no assumption about the kind of sources and the kind of result that this operation works on, except that they must be at least of the Coverage type. Subclasses will typically restrict the kind of sources to a subclasses of Coverage, or restrict the number of spatio-temporal dimensions that the sources can have.

Since:
2.2
Version:
3.00
Author:
Martin Desruisseaux (IRD)
See Also:
Serialized Form
Module:
coverage/geotk-coverage (download)    View source code for this class

Field Summary
protected  ParameterDescriptorGroup descriptor
          The parameters descriptor.
 
Constructor Summary
protected AbstractOperation(ParameterDescriptorGroup descriptor)
          Constructs an operation.
 
Method Summary
protected abstract  Coverage doOperation(ParameterValueGroup parameters, Hints hints)
          Applies a process operation to a coverage.
 boolean equals(Object object)
          Compares the specified object with this operation for equality.
 String getDescription()
          Deprecated. Return type need to be changed, maybe to InternationalString.
 String getDocURL()
          Deprecated. To be replaced by a method returning a Citation.
 String getName()
          Returns the name of the processing operation.
 int getNumSources()
          Returns the number of source coverages required for the operation.
 ParameterValueGroup getParameters()
          Returns an initially empty set of parameters.
 String getVendor()
          Deprecated. To be replaced by getName().getAuthority().
 String getVersion()
          Deprecated. Replacement to be determined.
 int hashCode()
          Returns a hash value for this operation.
 String toString()
          Returns a string representation of this operation.
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

descriptor

protected final ParameterDescriptorGroup descriptor
The parameters descriptor.

Constructor Detail

AbstractOperation

protected AbstractOperation(ParameterDescriptorGroup descriptor)
Constructs an operation. The operation name will be the same than the parameter descriptor name.

Parameters:
descriptor - The parameters descriptor.
Method Detail

getName

public String getName()
Returns the name of the processing operation. The default implementation returns the descriptor code name.

Specified by:
getName in interface Operation
TODO:
The return type will be changed from String to Identifier.

getDescription

@Deprecated
public String getDescription()
Deprecated. Return type need to be changed, maybe to InternationalString.

Returns the description of the processing operation. If there is no description, returns null. The default implementation returns the descriptor remarks.

Specified by:
getDescription in interface Operation

getDocURL

@Deprecated
public String getDocURL()
Deprecated. To be replaced by a method returning a Citation.

Returns the URL for documentation on the processing operation. If no online documentation is available the string will be null. The default implementation returns null.

Specified by:
getDocURL in interface Operation

getVersion

@Deprecated
public String getVersion()
Deprecated. Replacement to be determined.

Returns the version number of the implementation.

Specified by:
getVersion in interface Operation

getVendor

@Deprecated
public String getVendor()
Deprecated. To be replaced by getName().getAuthority().

Returns the vendor name of the processing operation implementation. The default implementation returns "Geotoolkit.org".

Specified by:
getVendor in interface Operation

getNumSources

public int getNumSources()
Returns the number of source coverages required for the operation.

Specified by:
getNumSources in interface Operation

getParameters

public ParameterValueGroup getParameters()
Returns an initially empty set of parameters.

Specified by:
getParameters in interface Operation

doOperation

protected abstract Coverage doOperation(ParameterValueGroup parameters,
                                        Hints hints)
                                 throws IllegalArgumentException,
                                        CoverageProcessingException
Applies a process operation to a coverage. This method is invoked by DefaultCoverageProcessor.

Parameters:
parameters - List of name value pairs for the parameters required for the operation.
hints - A set of rendering hints, or null if none. The DefaultCoverageProcessor may provides hints for the following keys: Hints.COORDINATE_OPERATION_FACTORY and Hints.JAI_INSTANCE.
Returns:
The result as a coverage.
Throws:
IllegalArgumentException - If a parameter has an illegal value.
CoverageProcessingException - if the operation can't be applied.

hashCode

public int hashCode()
Returns a hash value for this operation. This value need not remain consistent between different implementations of the same class.

Overrides:
hashCode in class Object

equals

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

Overrides:
equals in class Object
Parameters:
object - The object to compare with this operation.
Returns:
true if the given object is equals to this operation.

toString

public String toString()
Returns a string representation of this operation. The returned string is implementation dependent. It is usually provided for debugging purposes only.

Overrides:
toString in class Object


Copyright © 2009-2013 Geotoolkit.org. All Rights Reserved.