Interface ParameterDescriptor<T>

Type Parameters:
T - the type of parameter values.
All Superinterfaces:
GeneralParameterDescriptor, IdentifiedObject
All Known Implementing Classes:
SimpleParameter

@UML(identifier="CC_OperationParameter", specification=ISO_19111) public interface ParameterDescriptor<T> extends GeneralParameterDescriptor
The definition of a parameter used by an operation method. Most parameter values are numeric, but other types of parameter values are possible. A parameter descriptor contains the following properties:
Since:
2.0
See Also:
Departure from OGC/ISO abstract specification:
Change of name without change in functionality GeoAPI uses a name which contains the "Descriptor" word for consistency with other libraries in Java (e.g. ParameterListDescriptor in Java Advanced Imaging).
  • Method Details

    • getValueType

      @UML(identifier="DQM_Parameter.valueType", obligation=MANDATORY, specification=ISO_19157) TypeName getValueType()
      Returns the name that describes the type of parameter values. This is closely related to the Class returned by getValueClass():
      • If the value class is a collection (e.g. List or array), then this method returns the type of elements in the collection.
      • Otherwise this method returns the value class using the mapping documented in TypeName javadoc or using an implementation-dependent mapping.
      TypeName is used for encoding parameters in XML or JSON documents, while getValueClass() is used for programmatic purposes.
      Returns:
      the type name of value component(s) in this parameter.
      Since:
      3.1
    • getValueClass

      @UML(identifier="GC_ParameterInfo.type", obligation=MANDATORY, specification=OGC_01004) Class<T> getValueClass()
      Returns the class that describes the type of parameter values. This is usually (but not restricted to) Boolean, Integer, Double, String or URI when the parameter contains a single value. If the parameter can contain multiple values, then the class may be int[], double[], List, Set or Map.
      Returns:
      the type of parameter values.
    • getValidValues

      default Set<T> getValidValues()
      Returns the set of allowed values when these are restricted to some finite set or returns null otherwise. The returned set usually contains code list or enumeration elements.
      Note: it is not necessary to provide this property when all values from the code list or enumeration are allowed.
      Returns:
      a finite set of valid values (usually from a CodeList), or null if it does not apply or if there is no restriction.
      Departure from OGC/ISO abstract specification:
      Addition of element not in the ISO/OGC specification This method is not part of ISO specification. It is provided as a complement of information.
    • getMinimumValue

      @UML(identifier="GC_ParameterInfo.minimumValue", obligation=OPTIONAL, specification=OGC_01004) default Comparable<T> getMinimumValue()
      Returns the minimum parameter value. If there is no minimum value, or if the minimum value is inappropriate for the value class, then this method returns null.
      Returns:
      the minimum parameter value (often an instance of Double), or null.
      See Also:
    • getMaximumValue

      @UML(identifier="GC_ParameterInfo.maximumValue", obligation=OPTIONAL, specification=OGC_01004) default Comparable<T> getMaximumValue()
      Returns the maximum parameter value. If there is no maximum value, or if the maximum value is inappropriate for the value class, then this method returns null.
      Returns:
      the maximum parameter value (often an instance of Double), or null.
      See Also:
    • getDefaultValue

      @UML(identifier="GC_ParameterInfo.defaultValue", obligation=OPTIONAL, specification=OGC_01004) default T getDefaultValue()
      Returns the default value for the parameter. If there is no default value, then this method returns null.
      Returns:
      the default value, or null in none.
      See Also:
    • getUnit

      default Unit<?> getUnit()
      Returns the unit of measurement for the minimum, maximum and default values. This attribute applies only if the value is of numeric type (usually an instance of Double).
      Returns:
      the unit for numeric value, or null if it does not apply to the value type.
      See Also:
      Departure from OGC/ISO abstract specification:
      Addition of element not in the ISO/OGC specification This method is not part of ISO specification. It is provided as a complement of information.
    • createValue

      ParameterValue<T> createValue()
      Creates a new instance of parameter value initialized with the default value. While not a requirement, the parameter value descriptor for the created parameter value will typically be this descriptor instance.
      Specified by:
      createValue in interface GeneralParameterDescriptor
      Returns:
      a new parameter value initialized to the default value.
      See Also:
      Departure from OGC/ISO abstract specification:
      Addition of element not in the ISO/OGC specification This method is not part of the ISO specification. It is provided in GeoAPI as a kind of factory method.