Package org.apache.sis.measure
Annotation Type ValueRange
-
@Documented @Target({FIELD,METHOD}) @Retention(RUNTIME) public @interface 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... }isFooInclusiveargument 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 themaximumvalue 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... }ValueRangetoNumberRangeinstances in order to leverage the variousNumberRangeoperations. The following example uses a convenience constructor for this purpose. Note that theDoubletype could by inferred fromMethod.getReturnType().
TheMethod myMethod = ...; ValueRange annotation = myMethod.getAnnotation(ValueRange.class); if (annotation != null) { NumberRange<Double> range = new NumberRange(Double.class, annotation); // Use the range here. }AbstractMetadataclass uses this annotation for inferringParameterDescriptorfrom metadata interfaces and implementation classes.- Since:
- 0.3
- See Also:
NumberRange(Class, ValueRange)
Defined in the
sis-utilitymodule
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description booleanisMaxIncludedbooleanisMinIncludeddoublemaximumReturns the maximal value that a method can return.doubleminimumReturns the minimal value that a method can return.
-
-
-
Element Detail
-
minimum
double minimum
Returns 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 isMinIncluded
trueif the minimal value is inclusive, orfalseif it is exclusive. By default the minimum value is inclusive.- Returns:
trueif the minimum value is inclusive.
- Default:
- true
-
-
-
maximum
double maximum
Returns 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 isMaxIncluded
trueif the maximal value is inclusive, orfalseif it is exclusive. By default the maximum value is inclusive.- Returns:
trueif the maximum value is inclusive.
- Default:
- true
-
-