Package org.opengis.parameter
Interface ParameterValue<T>
-
- Type Parameters:
T- the type of parameter values.
- All Superinterfaces:
GeneralParameterValue
@Classifier(UNION) @UML(identifier="CC_ParameterValue", specification=ISO_19111) public interface ParameterValue<T> extends GeneralParameterValue
A single parameter value used by an operation method. Most CRS parameter values are numeric and can be obtained by theintValue()ordoubleValue()methods. But other types of parameter values are possible and can be handled by the more genericgetValue()andsetValue(Object)methods.All
xxxValue()methods in this interface are convenience methods converting the value fromObjectto some commonly used types. Those types are specified in ISO 19111 as an union of attributes, listed below with the corresponding getter and setter methods:
The type and constraints on parameter values are given by the descriptor, Instances ofCommon value types ISO attribute Java type Getter method Setter method ObjectgetValue()setValue(Object)stringValue StringstringValue()setValue(Object)value doubledoubleValue()setValue(double)doubledoubleValue(Unit)setValue(double, Unit)valueList double[]doubleValueList()setValue(Object)double[]doubleValueList(Unit)setValue(double[], Unit)integerValue intintValue()setValue(int)integerValueList int[]intValueList()setValue(Object)booleanValue booleanbooleanValue()setValue(boolean)valueFile URIvalueFile()setValue(Object)valueFileCitation CitationgetValue()setValue(Object)ParameterValueare created by theParameterDescriptor.createValue()method.- Since:
- 1.0
- See Also:
ParameterDescriptor,ParameterValueGroup
-
-
Method Summary
Modifier and Type Method Description booleanbooleanValue()Returns the boolean value of this parameter.ParameterValue<T>clone()Returns a copy of this parameter value.doubledoubleValue()Returns the numeric value of this operation parameter.doubledoubleValue(Unit<?> unit)Returns the numeric value of this parameter in the specified unit of measure.double[]doubleValueList()Returns an ordered sequence of two or more numeric values of this parameter, 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.TgetValue()Returns the parameter value as an object.intintValue()Returns the integer value of this parameter, usually used for a count.int[]intValueList()Returns an ordered sequence of two or more integer values of this parameter, usually used for counts.voidsetValue(boolean value)Sets the parameter value as a boolean.voidsetValue(double value)Sets the parameter value as a floating point.voidsetValue(double[] values, Unit<?> unit)Sets the parameter value as an array of floating point and their associated unit.voidsetValue(double value, Unit<?> unit)Sets the parameter value as a floating point and its associated unit.voidsetValue(int value)Sets the parameter value as an integer.voidsetValue(Object value)Sets the parameter value as an object.StringstringValue()Returns the string value of this parameter.URIvalueFile()Returns a reference to a file or a part of a file containing one or more parameter values.
-
-
-
Method Detail
-
getDescriptor
@UML(identifier="CC_OperationParameterValue.parameter", obligation=MANDATORY, specification=ISO_19111) ParameterDescriptor<T> getDescriptor()
Returns the abstract definition of this parameter value.- Specified by:
getDescriptorin interfaceGeneralParameterValue- 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 aStringtype), then this method returnsnull. 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, IllegalStateExceptionReturns the numeric value of this 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
doubleand conversion tounit. - 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 reason.- See Also:
getUnit(),setValue(double,Unit),doubleValueList(Unit)
-
doubleValue
@UML(identifier="value", obligation=CONDITIONAL, specification=ISO_19111) double doubleValue() throws IllegalStateException
Returns the numeric value of this operation parameter. The units of measurement are specified bygetUnit().- 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 reason.- See Also:
getUnit(),setValue(double),doubleValueList()- Unit:
- Measure
Departure from OGC/ISO specification:
Renamed the method from "value" to "doubleValue" for consistency withNumber.doubleValue()and the other "*Value" methods defined in this interface.
-
intValue
@UML(identifier="integerValue", obligation=CONDITIONAL, specification=ISO_19111) int intValue() throws IllegalStateException
Returns the integer value of this 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 reason.- See Also:
setValue(int),intValueList()
Departure from OGC/ISO specification:
Renamed the method from "integerValue" to "intValue" for consistency withNumber.intValue()and theintJava primitive type.
-
booleanValue
@UML(identifier="booleanValue", obligation=CONDITIONAL, specification=ISO_19111) boolean booleanValue() throws IllegalStateException
Returns the boolean value of this 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 reason.- See Also:
setValue(boolean)
-
stringValue
@UML(identifier="stringValue", obligation=CONDITIONAL, specification=ISO_19111) String stringValue() throws IllegalStateException
Returns the string value of this 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 reason.- See Also:
getValue(),setValue(Object)
-
doubleValueList
double[] doubleValueList(Unit<?> unit) throws IllegalArgumentException, IllegalStateExceptionReturns 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
doubleand conversion tounit. - Throws:
IllegalArgumentException- if the specified unit is invalid for this parameter.InvalidParameterTypeException- if the value is not an array ofdoubles.IllegalStateException- if the value can not be returned for an other reason.- 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 this parameter, 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 ofdoubles.IllegalStateException- if the value can not be returned for an other reason.- See Also:
getUnit(),setValue(Object),doubleValue()- Unit:
- Measure
Departure from OGC/ISO specification:
Renamed the method from "valueList" to "doubleValueList" both for consistency withdoubleValue()and also because, likedoubleValue(), this method returns an array ofdoublevalues rather than aMeasureobject.
-
intValueList
@UML(identifier="integerValueList", obligation=CONDITIONAL, specification=ISO_19111) int[] intValueList() throws IllegalStateException
Returns an ordered sequence of two or more integer values of this parameter, 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 ofints.IllegalStateException- if the value can not be returned for an other reason.- See Also:
setValue(Object),intValue()
Departure from OGC/ISO specification:
Renamed the attribute from "integerValueList" to "intValueList" for consistency withintValue().
-
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 a URI.IllegalStateException- if the value can not be returned for an other reason.- See Also:
getValue(),setValue(Object)
-
getValue
T getValue()
Returns the parameter value as an object. The object type is typically aDouble,Integer,Boolean,String,URI,double[]orint[]. 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
nullif no value has been set and there is no default value. - See Also:
setValue(Object)
-
setValue
void setValue(double[] values, Unit<?> unit) throws InvalidParameterValueExceptionSets 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 InvalidParameterValueExceptionSets the parameter value as a floating point and its associated unit.- Parameters:
value- the parameter value.unit- the unit for the specified values.- 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 InvalidParameterValueExceptionSets 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 InvalidParameterValueExceptionSets 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 InvalidParameterValueExceptionSets 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
Sets the parameter value as an object. The object type is typically aDouble,Integer,Boolean,String,URI,double[]orint[].The argument is not restricted to the parameterized type
Tbecause the type is typically unknown (as ingroup.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 ofvalueis 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:
clonein interfaceGeneralParameterValue- Returns:
- a copy of this parameter value.
-
-