Class SimpleParameter

All Implemented Interfaces:
Cloneable, Identifier, GeneralParameterDescriptor, GeneralParameterValue, ParameterDescriptor<Double>, ParameterValue<Double>, IdentifiedObject, ReferenceIdentifier

public class SimpleParameter extends SimpleIdentifiedObject implements ParameterValue<Double>, ParameterDescriptor<Double>, Cloneable
A ParameterValue implementation for double values. In order to keep the conceptual model simpler, this parameter value is also its own descriptor. This is not quite a recommended practice (such descriptors are less suitable for use in HashMap), but allows us to keep the amount of classes smaller and closely related interfaces together.

For keeping things yet simpler, the value class is hard-coded as Double, the units of measurement are constrained to standard units (metres, decimal degrees or dimensionless) and we care only about descriptor properties (minimum, maximum, etc.) determined by our own SimpleParameter.Type enumeration. The only mutable property in this class is the numerical value.

The most interesting methods in this class are:

Other methods can be ignored, since they are metadata or methods designed for parameter values of other kind than double. To be strict, all methods working with any value type other than double should throw an InvalidParameterTypeException. However, this implementation is lenient.
Since:
3.1