Package org.geotools.parameter
Class MatrixParameters
- Object
-
- Formattable
-
- AbstractParameter
-
- ParameterGroup
-
- MatrixParameters
-
- All Implemented Interfaces:
Serializable,Cloneable,GeneralParameterDescriptor,GeneralParameterValue,ParameterDescriptorGroup,ParameterValueGroup,IdentifiedObject,Cloneable
public class MatrixParameters extends ParameterGroup implements ParameterDescriptorGroup
The values for a group of matrix parameters. This value group is extensible, i.e. the number of"elt_row_col"parameters depends on the"num_row"and"num_col"parameter values. Consequently, this parameter value group is also its own mutable operation parameter group.- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
MatrixParameterDescriptors, Serialized Form
-
-
Field Summary
-
Fields inherited from class ParameterGroup
EMPTY
-
Fields inherited from class Formattable
SINGLE_LINE
-
Fields inherited from interface IdentifiedObject
ALIAS_KEY, IDENTIFIERS_KEY, NAME_KEY, REMARKS_KEY
-
-
Constructor Summary
Constructors Constructor Description MatrixParameters(MatrixParameterDescriptors descriptor)Constructs default values for the specified matrix parameter descriptors.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MatrixParametersclone()Returns a clone of this parameter group.ParameterValueGroupcreateValue()Forwards the call to the matrix parameter descriptors specified at construction time.GeneralParameterDescriptordescriptor(String name)Returns the parameter in this group for the specified name.List<GeneralParameterDescriptor>descriptors()Returns the parameters descriptors in this group.booleanequals(Object object)Compare this object with the specified one for equality.Collection<GenericName>getAlias()Forward the call to the matrix parameter descriptors specified at construction time.ParameterDescriptorGroupgetDescriptor()Returns a description of this parameter value group.Set<ReferenceIdentifier>getIdentifiers()Forward the call to the matrix parameter descriptors specified at construction time.MatrixgetMatrix()Creates a matrix from this group of parameters.intgetMaximumOccurs()Forward the call to the matrix parameter descriptors specified at construction time.intgetMinimumOccurs()Forward the call to the matrix parameter descriptors specified at construction time.ReferenceIdentifiergetName()Forward the call to the matrix parameter descriptors specified at construction time.InternationalStringgetRemarks()Forward the call to the matrix parameter descriptors specified at construction time.inthashCode()Returns a hash value for this parameter.ParameterValue<Double>parameter(int row, int column)Returns the value in this group for a matrix element at the specified index.ParameterValue<?>parameter(String name)Returns the value in this group for the specified name.voidsetMatrix(Matrix matrix)Sets all parameter values to the element value in the specified matrix.List<GeneralParameterValue>values()Returns the parameters values in this group.protected voidwrite(TableWriter table)Writes the content of this parameter to the specified table.-
Methods inherited from class ParameterGroup
addGroup, groups
-
Methods inherited from class AbstractParameter
formatWKT, toString
-
Methods inherited from class Formattable
cleanupThreadLocals, toWKT, toWKT, toWKT, toWKT
-
Methods inherited from interface IdentifiedObject
toWKT
-
-
-
-
Constructor Detail
-
MatrixParameters
public MatrixParameters(MatrixParameterDescriptors descriptor)
Constructs default values for the specified matrix parameter descriptors.- Parameters:
descriptor- The descriptor for this group of parameters.
-
-
Method Detail
-
getDescriptor
public ParameterDescriptorGroup getDescriptor()
Returns a description of this parameter value group. Returns alwaysthis, since the description depends on"num_row"and"num_col"parameter values.- Specified by:
getDescriptorin interfaceGeneralParameterValue- Specified by:
getDescriptorin interfaceParameterValueGroup- Overrides:
getDescriptorin classParameterGroup- Returns:
- The abstract definition of this parameter or group of parameters.
-
getName
public ReferenceIdentifier getName()
Forward the call to the matrix parameter descriptors specified at construction time.- Specified by:
getNamein interfaceIdentifiedObject- Returns:
- The primary name.
-
getAlias
public Collection<GenericName> getAlias()
Forward the call to the matrix parameter descriptors specified at construction time.- Specified by:
getAliasin interfaceIdentifiedObject- Returns:
- The aliases, or an empty collection if there is none.
-
getIdentifiers
public Set<ReferenceIdentifier> getIdentifiers()
Forward the call to the matrix parameter descriptors specified at construction time.- Specified by:
getIdentifiersin interfaceIdentifiedObject- Returns:
- This object identifiers, or an empty set if there is none.
-
getRemarks
public InternationalString getRemarks()
Forward the call to the matrix parameter descriptors specified at construction time.- Specified by:
getRemarksin interfaceIdentifiedObject- Returns:
- The remarks, or
nullif none.
-
getMinimumOccurs
public int getMinimumOccurs()
Forward the call to the matrix parameter descriptors specified at construction time.- Specified by:
getMinimumOccursin interfaceGeneralParameterDescriptor- Returns:
- The minimum occurence.
- See Also:
GeneralParameterDescriptor.getMaximumOccurs()
-
getMaximumOccurs
public int getMaximumOccurs()
Forward the call to the matrix parameter descriptors specified at construction time.- Specified by:
getMaximumOccursin interfaceGeneralParameterDescriptor- Returns:
- The maximum occurence.
- See Also:
GeneralParameterDescriptor.getMinimumOccurs()
-
descriptor
public GeneralParameterDescriptor descriptor(String name) throws ParameterNotFoundException
Returns the parameter in this group for the specified name. The name can be a matrix element if it uses the following syntax:"elt_row_col"where"elt_"is the prefix for all matrix elements, and row and col are row and column indices respectively. For example"elt_2_1"is the element name for the value at line 2 and row 1. The row and column index are 0 based.- Specified by:
descriptorin interfaceParameterDescriptorGroup- Parameters:
name- The case insensitive name of the parameter to search for.- Returns:
- The parameter for the given name.
- Throws:
ParameterNotFoundException- if there is no parameter for the given name.
-
parameter
public ParameterValue<?> parameter(String name) throws ParameterNotFoundException
Returns the value in this group for the specified name. The name can be a matrix element if it uses the following syntax:"elt_row_col"where"elt_"is the prefix for all matrix elements, and row and col are row and column indices respectively. For example"elt_2_1"is the element name for the value at line 2 and row 1. The row and column index are 0 based.- Specified by:
parameterin interfaceParameterValueGroup- Overrides:
parameterin classParameterGroup- Parameters:
name- The case insensitive name of the parameter to search for.- Returns:
- The parameter value for the given name.
- Throws:
ParameterNotFoundException- if there is no parameter for the given name.
-
parameter
public final ParameterValue<Double> parameter(int row, int column) throws IndexOutOfBoundsException
Returns the value in this group for a matrix element at the specified index. Row and column index are 0 based.- Parameters:
row- The row indice.column- The column indice- Returns:
- The parameter value for the specified matrix element (never
null). - Throws:
IndexOutOfBoundsException- ifroworcolumnis out of bounds.
-
descriptors
public List<GeneralParameterDescriptor> descriptors()
Returns the parameters descriptors in this group. The amount of parameters depends on the value of"num_row"and"num_col"parameters.- Specified by:
descriptorsin interfaceParameterDescriptorGroup- Returns:
- The descriptor of this group.
-
values
public List<GeneralParameterValue> values()
Returns the parameters values in this group. The amount of parameters depends on the value of"num_row"and"num_col"parameters. The parameter array will contains only matrix elements which have been requested at least once by one ofparameter(...)methods. Never requested elements are left to their default value and omitted from the returned array.- Specified by:
valuesin interfaceParameterValueGroup- Overrides:
valuesin classParameterGroup- Returns:
- The values in this group.
-
createValue
public ParameterValueGroup createValue()
Forwards the call to the matrix parameter descriptors specified at construction time.- Specified by:
createValuein interfaceGeneralParameterDescriptor- Specified by:
createValuein interfaceParameterDescriptorGroup- Returns:
- A new parameter instance initialized to the default value.
-
getMatrix
public Matrix getMatrix()
Creates a matrix from this group of parameters.- Returns:
- A matrix created from this group of parameters.
-
setMatrix
public void setMatrix(Matrix matrix)
Sets all parameter values to the element value in the specified matrix. After this method call,values()will returns only the elements different from the default value.- Parameters:
matrix- The matrix to copy in this group of parameters.
-
equals
public boolean equals(Object object)
Compare this object with the specified one for equality.- Overrides:
equalsin classParameterGroup- Parameters:
object- The object to compare tothis.- Returns:
trueif both objects are equal.
-
hashCode
public int hashCode()
Description copied from class:ParameterGroupReturns a hash value for this parameter.- Overrides:
hashCodein classParameterGroup- Returns:
- The hash code value. This value doesn't need to be the same in past or future versions of this class.
-
clone
public MatrixParameters clone()
Returns a clone of this parameter group.- Specified by:
clonein interfaceCloneable- Specified by:
clonein interfaceGeneralParameterValue- Specified by:
clonein interfaceParameterValueGroup- Overrides:
clonein classParameterGroup- Returns:
- A copy of this group of parameter values.
- See Also:
Object.clone()
-
write
protected void write(TableWriter table) throws IOException
Writes the content of this parameter to the specified table.- Overrides:
writein classAbstractParameter- Parameters:
table- The table where to format the parameter value.- Throws:
IOException- if an error occurs during output operation.
-
-