Annotation Interface 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:
    @ValueRange(minimum=0, maximum=100)
    public double getCloudCoverPercentage() {
        // Method implementation here...
    }
By default, both endpoints are inclusive. To make an endpoint exclusive, a is­Foo­Inclusive 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.
    @ValueRange(minimum=0, isMinIncluded=false)
    public double getSpatialResolution() {
        // Method implementation here...
    }
It is sometimes convenient to convert Value­Range to Number­Range instances in order to leverage the various Number­Range operations. The following example uses a convenience constructor for this purpose. Note that the Double type could by inferred from Method​.get­Return­Type().
Method myMethod = ...;
ValueRange annotation = myMethod.getAnnotation(ValueRange.class);
if (annotation != null) {
    NumberRange<Double> range = new NumberRange(Double.class, annotation);
    // Use the range here.
}
The Abstract­Metadata class uses this annotation for inferring Parameter­Descriptor from metadata interfaces and implementation classes.
Since:
0.3
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    true if the maximal value is inclusive, or false if it is exclusive.
    boolean
    true if the minimal value is inclusive, or false if it is exclusive.
    double
    Returns the maximal value that a method can return.
    double
    Returns the minimal value that a method can return.
  • Element Details

    • 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
      true if the minimal value is inclusive, or false if it is exclusive. By default the minimum value is inclusive.
      Returns:
      true if 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
      true if the maximal value is inclusive, or false if it is exclusive. By default the maximum value is inclusive.
      Returns:
      true if the maximum value is inclusive.
      Default:
      true