Class SizePropertyDefinition

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

    public final class SizePropertyDefinition
    extends PropertyDefinition<Long>
    Memory size property definition.

    All memory size property values are represented in bytes using longs.

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

    • Method Detail

      • createBuilder

        public static SizePropertyDefinition.Builder createBuilder​(AbstractManagedObjectDefinition<?,​?> d,
                                                                   String propertyName)
        Create an memory size 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 long getLowerLimit()
        Get the lower limit in bytes.
        Returns:
        Returns the lower limit in bytes.
      • getUpperLimit

        public Long getUpperLimit()
        Get the upper limit in bytes.
        Returns:
        Returns the upper limit in bytes or null if there is no upper limit.
      • isAllowUnlimited

        public boolean isAllowUnlimited()
        Determine whether this property allows unlimited memory sizes.
        Returns:
        Returns true if this this property allows unlimited memory sizes.
      • 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<Long>
        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,
                                    ValueOrExpression<Long> 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<Long>
        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<Long>
        Parameters:
        builder - The string builder where the string representation should be appended.