Class IntegerPropertyDefinition

  • All Implemented Interfaces:
    Comparable<PropertyDefinition<?>>, Comparator<Integer>

    public final class IntegerPropertyDefinition
    extends PropertyDefinition<Integer>
    Integer property definition.

    All values must be zero or positive and within the lower/upper limit constraints. Support is provided for "unlimited" values. These are represented using a negative value or using the string "unlimited".

    • Method Detail

      • createBuilder

        public static IntegerPropertyDefinition.Builder createBuilder​(AbstractManagedObjectDefinition<?,​?> d,
                                                                      String propertyName)
        Create an integer property definition builder.
        Parameters:
        d - The managed object definition associated with this property definition.
        propertyName - The property name.
        Returns:
        Returns the new integer property definition builder.
      • getLowerLimit

        public int getLowerLimit()
        Get the lower limit.
        Returns:
        Returns the lower limit.
      • getUpperLimit

        public Integer getUpperLimit()
        Get the upper limit.
        Returns:
        Returns the upper limit or null if there is no upper limit.
      • getUnitSynopsis

        public org.forgerock.i18n.LocalizableMessage getUnitSynopsis()
        Gets the optional unit synopsis of this integer property definition in the default locale.
        Returns:
        Returns the unit synopsis of this integer property definition in the default locale, or null if there is no unit synopsis.
      • getUnitSynopsis

        public org.forgerock.i18n.LocalizableMessage getUnitSynopsis​(Locale locale)
        Gets the optional unit synopsis of this integer property definition in the specified locale.
        Parameters:
        locale - The locale.
        Returns:
        Returns the unit synopsis of this integer property definition in the specified locale, or null if there is no unit synopsis.
      • isAllowUnlimited

        public boolean isAllowUnlimited()
        Determine whether this property allows unlimited values.
        Returns:
        Returns true if this this property allows unlimited values.
      • validateValue

        public void validateValue​(Integer value)
        Description copied from class: PropertyDefinition
        Determine if the provided property value is valid according to this property definition.
        Specified by:
        validateValue in class PropertyDefinition<Integer>
        Parameters:
        value - The property value (must not be null).
      • encodeValue

        public String encodeValue​(Integer value)
        Description copied from class: PropertyDefinition
        Encode the provided property value into its string representation.

        This default implementation simply returns invokes the Object.toString() method on the provided value.

        Overrides:
        encodeValue in class PropertyDefinition<Integer>
        Parameters:
        value - The property value (must not be null).
        Returns:
        Returns the encoded property string value.
      • decodeValue

        public Integer decodeValue​(String value)
        Description copied from class: PropertyDefinition
        Parse and validate a string representation of a property value.
        Specified by:
        decodeValue in class PropertyDefinition<Integer>
        Parameters:
        value - The property string value (must not be null).
        Returns:
        Returns the decoded property value.
      • accept

        public <R,​P> R accept​(PropertyDefinitionVisitor<R,​P> v,
                                    P p)
        Description copied from class: PropertyDefinition
        Apply a visitor to this property definition.
        Specified by:
        accept in class PropertyDefinition<Integer>
        Type Parameters:
        R - The return type of the visitor's methods.
        P - The type of the additional parameters to the visitor's methods.
        Parameters:
        v - The property definition visitor.
        p - Optional additional visitor parameter.
        Returns:
        Returns a result as specified by the visitor.
      • accept

        public <R,​P> R accept​(PropertyValueVisitor<R,​P> v,
                                    Integer value,
                                    P p)
        Description copied from class: PropertyDefinition
        Apply a visitor to a property value associated with this property definition.
        Specified by:
        accept in class PropertyDefinition<Integer>
        Type Parameters:
        R - The return type of the visitor's methods.
        P - The type of the additional parameters to the visitor's methods.
        Parameters:
        v - The property value visitor.
        value - The property value.
        p - Optional additional visitor parameter.
        Returns:
        Returns a result as specified by the visitor.
      • toString

        public void toString​(StringBuilder builder)
        Description copied from class: PropertyDefinition
        Append a string representation of the property definition to the provided string builder.

        This simple implementation just outputs the propertyName of the property definition. Sub-classes should override this method to provide more complete string representations.

        Overrides:
        toString in class PropertyDefinition<Integer>
        Parameters:
        builder - The string builder where the string representation should be appended.
      • compare

        public int compare​(Integer o1,
                           Integer o2)
        Description copied from class: PropertyDefinition
        Compares two property values for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

        This default implementation normalizes both values using PropertyDefinition.normalizeValue(Object) and then performs a case-sensitive string comparison.

        Specified by:
        compare in interface Comparator<Integer>
        Overrides:
        compare in class PropertyDefinition<Integer>
        Parameters:
        o1 - the first object to be compared.
        o2 - the second object to be compared.
        Returns:
        a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.