|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.parameter.Parameters
Utility class for methods helping implementing, and working with the
parameter API from org.opengis.parameter
package.
Field Summary | |
static org.opengis.parameter.ParameterDescriptorGroup |
EMPTY_GROUP
An empty parameter group. |
Constructor Summary | |
Parameters()
|
Method Summary | |
static int |
count(org.opengis.parameter.ParameterValueGroup group,
org.opengis.parameter.GeneralParameterDescriptor type)
Deprecated. Use ParameterValueGroup.groups(type.getName().getCode())
instead. It allows to fetch groups by name independently of the actual
descriptor implementation. The returned list can be used for many operation,
including fetching the count with size() . |
static boolean |
ensureSet(org.opengis.parameter.ParameterValueGroup parameters,
java.lang.String name,
double value,
javax.units.Unit unit,
boolean force)
Ensures that the specified parameter is set. |
static int |
indexOf(org.opengis.parameter.ParameterValueGroup group,
org.opengis.parameter.GeneralParameterDescriptor type)
Deprecated. Use ParameterValueGroup.parameter(java.lang.String) or ParameterValueGroup.groups(java.lang.String)
instead. We would like to encourage peoples to use parameter name as key instead of parameter
descriptor, because the parameter descriptor may not be always available. For example
if a user know he is looking for the "semi_major" axis length (because it is documented
in OpenGIS specification under that name) but don't know and don't care about who is
providing the implementation, then he doesn't have the parameter descriptor; he only
have the parameter name. Furthermore, parameter descriptor is implementation dependent.
For example if we search for the "semi_major" axis length using the Geotools descriptor
for this parameter, we will fail to find this parameter in a ParameterValueGroup
provided by an other implementation. This is against GeoAPI goal, which is
inter-operability. This doesn't mean that parameter descriptor should not be used.
They are used for inspecting meta-data about parameters, not for searching parameters.
Since each parameter name should be unique in a given parameter group (because
DefaultParameterDescriptor.getMaximumOccurs() is always 1 for single parameter),
the parameter name is a suffisient key for searching. |
static boolean |
isValid(org.opengis.parameter.ParameterValue parameter)
Check a parameter value against its parameter descriptor. |
static java.util.List |
list(org.opengis.parameter.ParameterValueGroup group,
org.opengis.parameter.GeneralParameterDescriptor type)
Deprecated. Use search(group,
type.getName().getCode(), 1) instead. See comments in indexOf(org.opengis.parameter.ParameterValueGroup, org.opengis.parameter.GeneralParameterDescriptor) for a rational
about why name should be used as key instead of parameter descriptor. |
static java.util.List |
search(org.opengis.parameter.GeneralParameterValue param,
java.lang.String name,
int maxDepth)
Search all parameters with the specified name. |
static java.util.List |
search(org.opengis.parameter.ParameterValueGroup group,
org.opengis.parameter.GeneralParameterDescriptor type)
Deprecated. Use search(group,
type.getName().getCode(), 100) instead. See comments in indexOf(org.opengis.parameter.ParameterValueGroup, org.opengis.parameter.GeneralParameterDescriptor) for a
rational about why name should be used as key instead of parameter descriptor. |
static java.util.Map |
toNameValueMap(org.opengis.parameter.GeneralParameterValue parameters,
java.util.Map destination)
Gets a flat view of name-value pairs. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static org.opengis.parameter.ParameterDescriptorGroup EMPTY_GROUP
Constructor Detail |
public Parameters()
Method Detail |
public static int count(org.opengis.parameter.ParameterValueGroup group, org.opengis.parameter.GeneralParameterDescriptor type)
ParameterValueGroup.groups(type.getName().getCode())
instead. It allows to fetch groups by name independently of the actual
descriptor implementation. The returned list can be used for many operation,
including fetching the count with size()
.
group
- type
-
ParameterValueGroup.groups(java.lang.String)
public static boolean isValid(org.opengis.parameter.ParameterValue parameter)
parameter
- The parameter to test.
Parameter.ensureValidValue(org.opengis.parameter.ParameterDescriptor, java.lang.Object)
public static int indexOf(org.opengis.parameter.ParameterValueGroup group, org.opengis.parameter.GeneralParameterDescriptor type)
ParameterValueGroup.parameter(java.lang.String)
or ParameterValueGroup.groups(java.lang.String)
instead. We would like to encourage peoples to use parameter name as key instead of parameter
descriptor, because the parameter descriptor may not be always available. For example
if a user know he is looking for the "semi_major" axis length (because it is documented
in OpenGIS specification under that name) but don't know and don't care about who is
providing the implementation, then he doesn't have the parameter descriptor; he only
have the parameter name. Furthermore, parameter descriptor is implementation dependent.
For example if we search for the "semi_major" axis length using the Geotools descriptor
for this parameter, we will fail to find this parameter in a ParameterValueGroup
provided by an other implementation. This is against GeoAPI goal, which is
inter-operability. This doesn't mean that parameter descriptor should not be used.
They are used for inspecting meta-data about parameters, not for searching parameters.
Since each parameter name should be unique in a given parameter group (because
DefaultParameterDescriptor.getMaximumOccurs()
is always 1 for single parameter),
the parameter name is a suffisient key for searching.
This method does not search in subgroups.
type
- GeneralParameterDescriptor to search for
public static java.util.List list(org.opengis.parameter.ParameterValueGroup group, org.opengis.parameter.GeneralParameterDescriptor type)
search(group,
type.getName().getCode(), 1)
instead. See comments in indexOf(org.opengis.parameter.ParameterValueGroup, org.opengis.parameter.GeneralParameterDescriptor)
for a rational
about why name should be used as key instead of parameter descriptor.
This method does not search in subgroups.
type
- GeneralParameterDescriptor to search for
public static java.util.List search(org.opengis.parameter.ParameterValueGroup group, org.opengis.parameter.GeneralParameterDescriptor type)
search(group,
type.getName().getCode(), 100)
instead. See comments in indexOf(org.opengis.parameter.ParameterValueGroup, org.opengis.parameter.GeneralParameterDescriptor)
for a
rational about why name should be used as key instead of parameter descriptor.
This method does search in subgroups.
type
- GeneralParameterDescriptor to search for
public static java.util.List search(org.opengis.parameter.GeneralParameterValue param, java.lang.String name, int maxDepth)
name
and
alias
. This method search recursively
in subgroups up to the specified depth:
ParameterDescriptorGroup
, then this method checks all elements
in this group but not in subgroups.
param
- The parameter to inspect.name
- The name of the parameter to search for.
public static java.util.Map toNameValueMap(org.opengis.parameter.GeneralParameterValue parameters, java.util.Map destination)
String
objects, and values are parameter values as
arbitrary objects. All subgroups (if any) are extracted recursively.
parameters
- The parameters to extract values from.destination
- The destination map, or for a default one.
public static boolean ensureSet(org.opengis.parameter.ParameterValueGroup parameters, java.lang.String name, double value, javax.units.Unit unit, boolean force)
The argument said what to do if the named parameter is already set. If the
value matches, nothing is done in all case. If there is a mismatch and is
, then the parameter is overriden with the specified . Otherwise,
the parameter is left unchanged but a warning is logged with the FINE
level.
parameters
- The set of projection parameters.name
- The parameter name to set.value
- The value to set, or to expect if the parameter is already set.unit
- The value unit.force
- for forcing the parameter to the specified
is case of mismatch.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |