|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.esa.beam.framework.gpf.OperatorSpi
public abstract class OperatorSpi
The OperatorSpi class is the service provider interface (SPI) for Operators.
Therefore this abstract class is intended to be derived by clients.
The SPI is both a descriptor for the operator type and a factory for new Operator instances.
An SPI is required for your operator if you want to make it accessible via an alias name in
the various GPF.create methods or within GPF Graph XML code.
SPI are registered either programmatically using the
OperatorSpiRegistry or
automatically via standard Java services lookup mechanism. For the services approach, place a
file META-INF/services/org.esa.beam.framework.gpf.OperatorSpi
in the JAR file containing your operators and associated SPIs.
For each SPI to be automatically registered, place a text line in the file containing the SPI's
fully qualified class name.
| Constructor Summary | |
|---|---|
protected |
OperatorSpi(Class<? extends Operator> operatorClass)
Constructs an operator SPI for the given operator class. |
protected |
OperatorSpi(Class<? extends Operator> operatorClass,
String operatorAlias)
Constructs an operator SPI for the given class name and alias name. |
| Method Summary | |
|---|---|
Operator |
createOperator()
Creates an operator instance with no arguments. |
Operator |
createOperator(Map<String,Object> parameters,
Map<String,Product> sourceProducts)
Creates an operator instance for the given source products and processing parameters. |
Operator |
createOperator(Map<String,Object> parameters,
Map<String,Product> sourceProducts,
RenderingHints renderingHints)
Creates an operator instance for the given source products and processing parameters. |
String |
getOperatorAlias()
The alias name under which the operator can be accessed. |
static String |
getOperatorAlias(Class<? extends Operator> operatorClass)
|
Class<? extends Operator> |
getOperatorClass()
Gets the operator class. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected OperatorSpi(Class<? extends Operator> operatorClass)
OperatorMetadata. If no such exists,
the alias name will be the operator's class name without the package path.
All other metadata will be set to the empty string.
operatorClass - The operator class.
protected OperatorSpi(Class<? extends Operator> operatorClass,
String operatorAlias)
operatorClass - The operator class.operatorAlias - The alias name for the operator.| Method Detail |
|---|
public Operator createOperator()
throws OperatorException
Creates an operator instance with no arguments. The default implemrentation calls the default constructor. If no such is defined in the operator, an exception is thrown.
This method may be overridden by clients in order to provide a no-argument instance of their operator.
Implementors should call operator.setSpi(this)
in order to set the operator's SPI.
OperatorException - if the instance could not be created
public Operator createOperator(Map<String,Object> parameters,
Map<String,Product> sourceProducts)
throws OperatorException
Creates an operator instance for the given source products and processing parameters.
This method may be overridden by clients in order to process the passed parameters and
source products and optionally construct the operator in a specific way.
Implementors should call operator.setSpi(this)
in order to set the operator's SPI.
parameters - the processing parameters.sourceProducts - the source products.
OperatorException - if the operator could not be created.
public Operator createOperator(Map<String,Object> parameters,
Map<String,Product> sourceProducts,
RenderingHints renderingHints)
throws OperatorException
Creates an operator instance for the given source products and processing parameters.
This method may be overridden by clients in order to process the passed parameters and
source products and optionally construct the operator in a specific way.
Implementors should call operator.setSpi(this)
in order to set the operator's SPI.
parameters - the processing parameters.sourceProducts - the source products.renderingHints - the rendering hints, may be null.
OperatorException - if the operator could not be created.public final Class<? extends Operator> getOperatorClass()
public final String getOperatorAlias()
public static String getOperatorAlias(Class<? extends Operator> operatorClass)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||