Package org.apache.sis.measure
Annotation Type ValueRange
The range of values assignable to a field, or to a JavaBean property.
When used with JavaBeans, this annotation shall be applied on the getter method
as in the following example:
By default, both endpoints are inclusive. To make an endpoint exclusive, a@ValueRange(minimum=0, maximum=100) public double getCloudCoverPercentage() { // Method implementation here... }
isFooInclusive
argument needs to be explicitly provided. This
is useful mostly for floating point numbers. In the following example,
values can be very close to zero but not equals, since a value of exactly
zero makes no sense. Note also that the maximum
value is not explicitly
provided, in which case it defaults to infinity.
It is sometime convenient to convert@@ValueRange(minimum=0, isMinIncluded=false) public double getSpatialResolution() { // Method implementation here... }
ValueRange
to NumberRange
instances
in order to leverage the various NumberRange
operations. The following example
uses a convenience constructor for this purpose. Note that the Double
type could
by inferred from Method.getReturnType()
.
TheMethod myMethod = ...; ValueRange annotation = myMethod.getAnnotation(ValueRange.class); if (annotation != null) { NumberRange<Double> range = new NumberRange(Double.class, annotation); // Use the range here. }
AbstractMetadata
class uses this annotation for inferring
ParameterDescriptor
from metadata interfaces and implementation
classes. Since:
 0.3
 See Also:
Defined in the sisutility
module

Optional Element Summary
Modifier and TypeOptional ElementDescriptionboolean
boolean
double
Returns the maximal value that a method can return.double
Returns the minimal value that a method can return.

Element Details

minimum
double minimumReturns the minimal value that a method can return. The default value is negative infinity, which means that there is no minimal value. Returns:
 the minimal value.
 Default:
 1.0/0.0

isMinIncluded
boolean isMinIncludedtrue
if the minimal value is inclusive, orfalse
if it is exclusive. By default the minimum value is inclusive. Returns:
true
if the minimum value is inclusive.
 Default:
 true

maximum
double maximumReturns the maximal value that a method can return. The default value is positive infinity, which means that there is no maximal value. Returns:
 the maximal value.
 Default:
 1.0/0.0

isMaxIncluded
boolean isMaxIncludedtrue
if the maximal value is inclusive, orfalse
if it is exclusive. By default the maximum value is inclusive. Returns:
true
if the maximum value is inclusive.
 Default:
 true
