Class FloatControl

All Implemented Interfaces:
Serializable

public final class FloatControl extends EditableControl<Number>
A Control for float values that must conform to a IFloatValueDescriptor.
Since:
8.5.0
See Also:
  • Constructor Details

    • FloatControl

      public FloatControl(IValueAccessor<?> root, String path, IFloatValueDescriptor descriptor)
      Creates a new float control.
      Parameters:
      root - The root object against which the path is evaluated.
      path - The JSON path expression that references the value.
      descriptor - The descriptor that describes the float value being edited.
  • Method Details

    • getDoubleValue

      public Double getDoubleValue()
      Gets the field's current value as a double. If the value is null, returns 0.
      Returns:
      The field's current value as a double.
    • setDoubleValue

      public void setDoubleValue(Double value)
      Sets the field's value as a double.
      Parameters:
      value - The new value to set.
    • getMax

      public double getMax()
      Gets the maximum allowed value, if any. If no maximum is set, returns Double.POSITIVE_INFINITY.
      Returns:
      The maximum allowed value, or Double.POSITIVE_INFINITY if no maximum is set.
    • getMin

      public double getMin()
      Gets the minimum allowed value, if any. If no minimum is set, returns Double.NEGATIVE_INFINITY.
      Returns:
      The minimum allowed value, or Double.NEGATIVE_INFINITY if no minimum is set.
    • isHasMax

      public boolean isHasMax()
      Checks whether a maximum value is set.
      Returns:
      true if a maximum value is set, false otherwise.
    • isHasMin

      public boolean isHasMin()
      Checks whether a minimum value is set.
      Returns:
      true if a minimum value is set, false otherwise.
    • setRange

      public void setRange(com.google.common.collect.Range<Double> range)
      Sets the allowed value range. If the range has no lower bound, the minimum is set to Double.NEGATIVE_INFINITY. If the range has no upper bound, the maximum is set to Double.POSITIVE_INFINITY.
      Parameters:
      range - The allowed value range, or null to allow all values.
    • coerceValue

      protected Number coerceValue(Object value)
      Description copied from class: EditableControl
      Coerces the given value to conform to the restrictions imposed by the value descriptor. This method is called by EditableControl.getValue() and EditableControl.setValue(Object) to ensure that the value is always valid.
      Specified by:
      coerceValue in class EditableControl<Number>
      Parameters:
      value - The value to coerce.
      Returns:
      The coerced value.