Class LongProperty

    • Constructor Summary

      Constructors 
      Constructor Description
      LongProperty​(java.lang.String theName, java.lang.String theDescription, java.lang.Long min, java.lang.Long max, java.lang.Long theDefault, float theUIOrder)
      Constructor that limits itself to a single value within the specified limits.
      LongProperty​(java.lang.String theName, java.lang.String theDescription, java.lang.String minStr, java.lang.String maxStr, java.lang.String defaultStr, float theUIOrder)
      Deprecated.
      will be removed in 7.0.0
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addAttributesTo​(java.util.Map<PropertyDescriptorField,​java.lang.String> attributes)
      Adds this property's attributes to the map.
      java.lang.String asDelimitedString​(T value)
      Formats the object onto a string suitable for storage within the property map.
      protected java.lang.String asString​(T value)
      Returns a string representation of the value, even if it's null.
      java.util.Map<PropertyDescriptorField,​java.lang.String> attributeValuesById()
      Returns a map representing all the property attributes of the receiver in string form.
      int compareTo​(PropertyDescriptor<?> otherProperty)  
      protected java.lang.Long createFrom​(java.lang.String toParse)
      Parse a string and returns an instance of a value.
      protected java.lang.String defaultAsString()
      Returns a string representation of the default value.
      T defaultValue()
      Default value to use when the user hasn't specified one or when they wish to revert to a known-good state.
      java.lang.String description()
      Describes the property and the role it plays within the rule it is specified for.
      boolean equals​(java.lang.Object obj)  
      java.lang.String errorFor​(T value)
      Validation function that returns a diagnostic error message for a sample property value.
      int hashCode()  
      boolean isDefinedExternally()
      True if this descriptor was defined in the ruleset xml.
      boolean isMultiValue()
      Returns whether the property is multi-valued, i.e.
      java.lang.Number lowerLimit()
      Returns the minimum value that instances of the property can have.
      java.lang.String name()
      The name of the property without spaces as it serves as the key into the property map.
      static LongProperty.LongPBuilder named​(java.lang.String name)  
      int preferredRowCount()
      If the datatype is a String then return the preferred number of rows to allocate in the text widget, returns a value of one for all other types.
      java.lang.String propertyErrorFor​(Rule rule)
      A convenience method that returns an error string if the rule holds onto a property value that has a problem.
      java.lang.String toString()  
      java.lang.Class<java.lang.Long> type()
      Denotes the value datatype.
      float uiOrder()
      Denotes the relative order the property field should occupy if we are using an auto-generated UI to display and edit property values.
      java.lang.Number upperLimit()
      Returns the maximum value that instances of the property can have.
      protected java.lang.String valueErrorFor​(T value)
      Checks the value for an error.
      T valueFrom​(java.lang.String valueString)
      Returns the value represented by this string.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Comparable

        compareTo
    • Constructor Detail

      • LongProperty

        public LongProperty​(java.lang.String theName,
                            java.lang.String theDescription,
                            java.lang.String minStr,
                            java.lang.String maxStr,
                            java.lang.String defaultStr,
                            float theUIOrder)
        Deprecated.
        will be removed in 7.0.0
        Constructor for LongProperty that limits itself to a single value within the specified limits. Converts string arguments into the Long values.
        Parameters:
        theName - Name
        theDescription - Description
        minStr - Minimum value of the property
        maxStr - Maximum value of the property
        defaultStr - Default value
        theUIOrder - UI order
        Throws:
        java.lang.IllegalArgumentException - if min > max or one of the defaults is not between the bounds
      • LongProperty

        public LongProperty​(java.lang.String theName,
                            java.lang.String theDescription,
                            java.lang.Long min,
                            java.lang.Long max,
                            java.lang.Long theDefault,
                            float theUIOrder)
        Constructor that limits itself to a single value within the specified limits.
        Parameters:
        theName - Name
        theDescription - Description
        min - Minimum value of the property
        max - Maximum value of the property
        theDefault - Default value
        theUIOrder - UI order
        Throws:
        java.lang.IllegalArgumentException - if min > max or one of the defaults is not between the bounds
    • Method Detail

      • type

        public java.lang.Class<java.lang.Long> type()
        Description copied from interface: PropertyDescriptor
        Denotes the value datatype. For multi value properties, this is not the List class but the list's component class.
        Returns:
        Class literal of the value type
      • createFrom

        protected java.lang.Long createFrom​(java.lang.String toParse)
        Parse a string and returns an instance of a value.
        Parameters:
        toParse - String to parse
        Returns:
        An instance of a value
      • valueErrorFor

        protected java.lang.String valueErrorFor​(T value)
        Checks the value for an error.
        Parameters:
        value - Value to check
        Returns:
        A diagnostic error message, or null if there's no problem
      • addAttributesTo

        protected void addAttributesTo​(java.util.Map<PropertyDescriptorField,​java.lang.String> attributes)
        Adds this property's attributes to the map. Subclasses can override this to add more PropertyDescriptorField.
        Parameters:
        attributes - The map to fill
      • defaultValue

        public final T defaultValue()
        Description copied from interface: PropertyDescriptor
        Default value to use when the user hasn't specified one or when they wish to revert to a known-good state.
        Specified by:
        defaultValue in interface PropertyDescriptor<T>
        Returns:
        Object
      • isMultiValue

        public final boolean isMultiValue()
        Description copied from interface: PropertyDescriptor
        Returns whether the property is multi-valued, i.e. an array of strings,

        As unary property rule properties will return a value of one, you must use the get/setProperty accessors when working with the actual values. When working with multi-value properties then the get/setProperties accessors must be used.

        Specified by:
        isMultiValue in interface PropertyDescriptor<T>
        Returns:
        boolean
      • asDelimitedString

        public java.lang.String asDelimitedString​(T value)
        Description copied from interface: PropertyDescriptor
        Formats the object onto a string suitable for storage within the property map.
        Specified by:
        asDelimitedString in interface PropertyDescriptor<T>
        Parameters:
        value - Object
        Returns:
        String
      • asString

        protected java.lang.String asString​(T value)
        Returns a string representation of the value, even if it's null.
        Parameters:
        value - The value to describe
        Returns:
        A string representation of the value
      • propertyErrorFor

        public java.lang.String propertyErrorFor​(Rule rule)
        Description copied from interface: PropertyDescriptor
        A convenience method that returns an error string if the rule holds onto a property value that has a problem. Returns null otherwise.
        Specified by:
        propertyErrorFor in interface PropertyDescriptor<T>
        Parameters:
        rule - Rule
        Returns:
        String
      • errorFor

        public java.lang.String errorFor​(T value)
        Description copied from interface: PropertyDescriptor
        Validation function that returns a diagnostic error message for a sample property value. Returns null if the value is acceptable.
        Specified by:
        errorFor in interface PropertyDescriptor<T>
        Parameters:
        value - The value to check.
        Returns:
        A diagnostic message.
      • defaultAsString

        protected final java.lang.String defaultAsString()
        Returns a string representation of the default value.
        Returns:
        A string representation of the default value.
      • valueFrom

        public final T valueFrom​(java.lang.String valueString)
                          throws java.lang.IllegalArgumentException
        Description copied from interface: PropertyDescriptor
        Returns the value represented by this string.
        Specified by:
        valueFrom in interface PropertyDescriptor<T>
        Parameters:
        valueString - The string to parse
        Returns:
        The value represented by the string
        Throws:
        java.lang.IllegalArgumentException - if the given string cannot be parsed
      • description

        public java.lang.String description()
        Description copied from interface: PropertyDescriptor
        Describes the property and the role it plays within the rule it is specified for. Could be used in a tooltip.
        Specified by:
        description in interface PropertyDescriptor<T>
        Returns:
        String
      • uiOrder

        public float uiOrder()
        Description copied from interface: PropertyDescriptor
        Denotes the relative order the property field should occupy if we are using an auto-generated UI to display and edit property values. If the value returned has a non-zero fractional part then this is can be used to place adjacent fields on the same row.

        Example:
        name -> 0.0 description 1.0 minValue -> 2.0 maxValue -> 2.1

        ..would have their fields placed like:
        name: [ ] description: [ ] minimum: [ ] maximum: [ ]
        Specified by:
        uiOrder in interface PropertyDescriptor<T>
        Returns:
        float
      • compareTo

        public final int compareTo​(PropertyDescriptor<?> otherProperty)
        Specified by:
        compareTo in interface java.lang.Comparable<T>
      • preferredRowCount

        public int preferredRowCount()
        Description copied from interface: PropertyDescriptor
        If the datatype is a String then return the preferred number of rows to allocate in the text widget, returns a value of one for all other types. Useful for multi-line XPATH editors.
        Specified by:
        preferredRowCount in interface PropertyDescriptor<T>
        Returns:
        int
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • name

        public java.lang.String name()
        Description copied from interface: PropertyDescriptor
        The name of the property without spaces as it serves as the key into the property map.
        Specified by:
        name in interface PropertyDescriptor<T>
        Returns:
        String
      • isDefinedExternally

        public boolean isDefinedExternally()
        Description copied from interface: PropertyDescriptor
        True if this descriptor was defined in the ruleset xml. This precision is necessary for the RuleSetWriter to write out the property correctly: if it was defined externally, then its definition must be written out, otherwise only its value.
        Specified by:
        isDefinedExternally in interface PropertyDescriptor<T>
        Returns:
        True if the descriptor was defined in xml