org.opengis.parameter
Interface ParameterValue<T>

Type Parameters:
T - The type of parameter values.
All Superinterfaces:
GeneralParameterValue

@UML(identifier="CC_ParameterValue",
     specification=ISO_19111)
public interface ParameterValue<T>
extends GeneralParameterValue

A parameter value used by an operation method. Most parameter values are numeric and can be obtained by the intValue() or doubleValue() methods. But other types of parameter values are possible and can be handled by the more generic getValue() and setValue(Object) methods. The type and constraints on parameter values are given by the descriptor.

Instances of ParameterValue are created by the ParameterDescriptor.createValue() method.

Since:
GeoAPI 1.0
See Also:
ParameterDescriptor, ParameterValueGroup

Method Summary
 boolean booleanValue()
          Returns the boolean value of an operation parameter A boolean value does not have an associated unit of measure.
 ParameterValue<T> clone()
          Returns a copy of this parameter value.
 double doubleValue()
          Returns the numeric value of the coordinate operation parameter with its associated unit of measure.
 double doubleValue(Unit<?> unit)
          Returns the numeric value of the coordinate operation parameter in the specified unit of measure.
 double[] doubleValueList()
          Returns an ordered sequence of two or more numeric values of an operation parameter list, where each value has the same associated unit of measure.
 double[] doubleValueList(Unit<?> unit)
          Returns an ordered sequence of numeric values in the specified unit of measure.
 ParameterDescriptor<T> getDescriptor()
          Returns the abstract definition of this parameter value.
 Unit<?> getUnit()
          Returns the unit of measure of the parameter value.
 T getValue()
          Returns the parameter value as an object.
 int intValue()
          Returns the positive integer value of an operation parameter, usually used for a count.
 int[] intValueList()
          Returns an ordered sequence of two or more integer values of an operation parameter list, usually used for counts.
 void setValue(boolean value)
          Set the parameter value as a boolean.
 void setValue(double value)
          Sets the parameter value as a floating point.
 void setValue(double[] values, Unit<?> unit)
          Sets the parameter value as an array of floating point and their associated unit.
 void setValue(double value, Unit<?> unit)
          Sets the parameter value as a floating point and its associated unit.
 void setValue(int value)
          Set the parameter value as an integer.
 void setValue(Object value)
          Set the parameter value as an object.
 String stringValue()
          Returns the string value of an operation parameter.
 URI valueFile()
          Returns a reference to a file or a part of a file containing one or more parameter values.
 

Method Detail

getDescriptor

ParameterDescriptor<T> getDescriptor()
Returns the abstract definition of this parameter value.

Specified by:
getDescriptor in interface GeneralParameterValue
Returns:
The abstract definition of this parameter value.

getUnit

Unit<?> getUnit()
Returns the unit of measure of the parameter value. If the parameter value has no unit (for example because it is a String type), then this method returns null. Note that "no unit" doesn't means "dimensionless".

Returns:
The unit of measure of the parameter value.
See Also:
doubleValue(), doubleValueList(), getValue()

doubleValue

double doubleValue(Unit<?> unit)
                   throws IllegalArgumentException,
                          IllegalStateException
Returns the numeric value of the coordinate operation parameter in the specified unit of measure. This convenience method applies unit conversion on the fly as needed.

Parameters:
unit - The unit of measure for the value to be returned.
Returns:
The numeric value represented by this parameter after conversion to type double and conversion to unit.
Throws:
IllegalArgumentException - if the specified unit is invalid for this parameter.
InvalidParameterTypeException - if the value is not a numeric type.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
getUnit(), setValue(double,Unit), doubleValueList(Unit)

doubleValue

double doubleValue()
                   throws IllegalStateException
Returns the numeric value of the coordinate operation parameter with its associated unit of measure.

Returns:
The numeric value represented by this parameter after conversion to type double.
Throws:
InvalidParameterTypeException - if the value is not a numeric type.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
getUnit(), setValue(double), doubleValueList()
Departure from OGC/ISO specification:
Renamed the method from "value" to "doubleValue" for consistency with Number.doubleValue() and the other "*Value" methods defined in this interface.
Unit:
Measure

intValue

@UML(identifier="integerValue",
     obligation=CONDITIONAL,
     specification=ISO_19111)
int intValue()
             throws IllegalStateException
Returns the positive integer value of an operation parameter, usually used for a count. An integer value does not have an associated unit of measure.

Returns:
The numeric value represented by this parameter after conversion to type int.
Throws:
InvalidParameterTypeException - if the value is not an integer type.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
setValue(int), intValueList()
Departure from OGC/ISO specification:
Renamed the method from "integerValue" to "intValue" for consistency with Number.intValue() and the int Java primitive type.

booleanValue

@UML(identifier="booleanValue",
     obligation=CONDITIONAL,
     specification=ISO_19111)
boolean booleanValue()
                     throws IllegalStateException
Returns the boolean value of an operation parameter A boolean value does not have an associated unit of measure.

Returns:
The boolean value represented by this parameter.
Throws:
InvalidParameterTypeException - if the value is not a boolean type.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
setValue(boolean)

stringValue

@UML(identifier="stringValue",
     obligation=CONDITIONAL,
     specification=ISO_19111)
String stringValue()
                   throws IllegalStateException
Returns the string value of an operation parameter. A string value does not have an associated unit of measure.

Returns:
The string value represented by this parameter.
Throws:
InvalidParameterTypeException - if the value is not a string.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
getValue(), setValue(Object)

doubleValueList

double[] doubleValueList(Unit<?> unit)
                         throws IllegalArgumentException,
                                IllegalStateException
Returns an ordered sequence of numeric values in the specified unit of measure. This convenience method applies unit conversions on the fly as needed.

Parameters:
unit - The unit of measure for the value to be returned.
Returns:
The sequence of values represented by this parameter after conversion to type double and conversion to unit.
Throws:
IllegalArgumentException - if the specified unit is invalid for this parameter.
InvalidParameterTypeException - if the value is not an array of doubles.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
getUnit(), setValue(double[],Unit), doubleValue(Unit)

doubleValueList

@UML(identifier="valueList",
     obligation=CONDITIONAL,
     specification=ISO_19111)
double[] doubleValueList()
                         throws IllegalStateException
Returns an ordered sequence of two or more numeric values of an operation parameter list, where each value has the same associated unit of measure.

Returns:
The sequence of values represented by this parameter.
Throws:
InvalidParameterTypeException - if the value is not an array of doubles.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
getUnit(), setValue(Object), doubleValue()
Departure from OGC/ISO specification:
Renamed the method from "valueList" to "doubleValueList" both for consistency with doubleValue() and also because, like doubleValue(), this method returns an array of double values rather than a Measure object.
Unit:
Measure

intValueList

@UML(identifier="integerValueList",
     obligation=CONDITIONAL,
     specification=ISO_19111)
int[] intValueList()
                   throws IllegalStateException
Returns an ordered sequence of two or more integer values of an operation parameter list, usually used for counts. These integer values do not have an associated unit of measure.

Returns:
The sequence of values represented by this parameter.
Throws:
InvalidParameterTypeException - if the value is not an array of ints.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
setValue(Object), intValue()
Departure from OGC/ISO specification:
Renamed the attribute from "integerValueList" to "intValueList" for consistency with intValue().

valueFile

@UML(identifier="valueFile",
     obligation=CONDITIONAL,
     specification=ISO_19111)
URI valueFile()
              throws IllegalStateException
Returns a reference to a file or a part of a file containing one or more parameter values. When referencing a part of a file, that file must contain multiple identified parts, such as an XML encoded document. Furthermore, the referenced file or part of a file can reference another part of the same or different files, as allowed in XML documents.

Returns:
The reference to a file containing parameter values.
Throws:
InvalidParameterTypeException - if the value is not a reference to a file or an URI.
IllegalStateException - if the value can not be returned for an other raison.
See Also:
getValue(), setValue(Object)

getValue

@UML(identifier="value",
     obligation=CONDITIONAL,
     specification=ISO_19111)
T getValue()
Returns the parameter value as an object. The object type is typically a Double, Integer, Boolean, String, URI, double[] or int[]. If no value has been set, then this method returns the default value (which may be null).

Returns:
The parameter value as an object, or null if no value has been set and there is no default value.
See Also:
setValue(Object)

setValue

void setValue(double[] values,
              Unit<?> unit)
              throws InvalidParameterValueException
Sets the parameter value as an array of floating point and their associated unit.

Parameters:
values - The parameter values.
unit - The unit for the specified value.
Throws:
InvalidParameterValueException - if the floating point type is inappropriate for this parameter, or if the value is illegal for some other reason (for example a value out of range).

setValue

void setValue(double value,
              Unit<?> unit)
              throws InvalidParameterValueException
Sets the parameter value as a floating point and its associated unit.

Parameters:
value - The parameter value.
unit - The unit for the specified value.
Throws:
InvalidParameterValueException - if the floating point type is inappropriate for this parameter, or if the value is illegal for some other reason (for example a value out of range).
See Also:
setValue(double), doubleValue(Unit)

setValue

void setValue(double value)
              throws InvalidParameterValueException
Sets the parameter value as a floating point.

Parameters:
value - The parameter value.
Throws:
InvalidParameterValueException - if the floating point type is inappropriate for this parameter, or if the value is illegal for some other reason (for example a value out of range).
See Also:
setValue(double,Unit), doubleValue()

setValue

void setValue(int value)
              throws InvalidParameterValueException
Set the parameter value as an integer.

Parameters:
value - The parameter value.
Throws:
InvalidParameterValueException - if the integer type is inappropriate for this parameter, or if the value is illegal for some other reason (for example a value out of range).
See Also:
intValue()

setValue

void setValue(boolean value)
              throws InvalidParameterValueException
Set the parameter value as a boolean.

Parameters:
value - The parameter value.
Throws:
InvalidParameterValueException - if the boolean type is inappropriate for this parameter.
See Also:
booleanValue()

setValue

void setValue(Object value)
              throws InvalidParameterValueException
Set the parameter value as an object. The object type is typically a Double, Integer, Boolean, String, URI, double[] or int[].

The argument is not restricted to the parameterized type T because the type is typically unknown (as in group.parameter("name").setValue(value)) and because some implementations may choose to convert a wider range of types.

Parameters:
value - The parameter value.
Throws:
InvalidParameterValueException - if the type of value is inappropriate for this parameter, or if the value is illegal for some other reason (for example the value is numeric and out of range).
See Also:
getValue()

clone

ParameterValue<T> clone()
Returns a copy of this parameter value.

Specified by:
clone in interface GeneralParameterValue
Returns:
A copy of this parameter value.


Copyright © 1994-2011 Open Geospatial Consortium. All Rights Reserved.