Interface AttributeDefinition<T>

Type Parameters:
T - the underlying type
All Known Subinterfaces:
AuditColumnDefinition<T>, ColumnDefinition<T>, DerivedAttributeDefinition<T>, ForeignKeyDefinition, TransientAttributeDefinition<T>

public interface AttributeDefinition<T>
Defines an Attribute. Factory for AttributeDefinition instances.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Builds a attribute definition instance
    static interface 
    Supplies values, for example default ones.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final is.codion.common.property.PropertyValue<String>
    The default date format pattern to use when showing date values in tables and when creating default date input fields Value type: String Default value: dd-MM-yyyy [month/day order is locale specific]
    static final is.codion.common.property.PropertyValue<String>
    The default date/time format pattern to use when showing date/time values in tables and when creating default date/time input fields Value type: String Default value: dd-MM-yyyy HH:mm [month/day order is locale specific]
    static final is.codion.common.property.PropertyValue<RoundingMode>
    Specifies the default rounding mode used for decimal property values Value type: RoundingMode Default value: RoundingMode.HALF_EVEN
    static final is.codion.common.property.PropertyValue<Character>
    Specifies the default number decimal separator.
    static final int
    The default maximum fraction digits for floating point numbers
    static final is.codion.common.property.PropertyValue<Character>
    Specifies the default number grouping separator Value type: Character Default value: The grouping separator for the default locale
    static final is.codion.common.property.PropertyValue<Integer>
    Specifies the default maximum number of fraction digits for double property values
    Note that values are rounded when set.
    static final String
    The suffix used for the mnemonic resource key.
    static final is.codion.common.property.PropertyValue<Boolean>
    Specifies whether number format grouping is used by default Value type: Boolean Default value: false
    static final is.codion.common.property.PropertyValue<String>
    The default date format pattern to use when showing time values in tables and when creating default time input fields Value type: String Default value: HH:mm
    static final is.codion.common.property.PropertyValue<Boolean>
    Specifies whether String values should use a lexical comparator by default Value type: Boolean Default value: true
  • Method Summary

    Modifier and Type
    Method
    Description
    The Attribute this definition is based on, should be unique within an Entity.
     
     
    Returns the date time formatter used when presenting and inputting values for this attribute.
    Returns the date time format pattern used when presenting and inputting values for this attribute.
     
     
    boolean
    The value of a derived attribute can not be set, as it's value is derived from other values
     
     
    Returns the Format used when presenting values for this attribute, null if none has been specified.
    boolean
     
    boolean
     
    List<is.codion.common.item.Item<T>>
    Returns the valid items for this attribute or an empty list in case this is not an item based attribute
    int
     
    int
     
     
     
    char
    Returns the mnemonic associated with this attribute.
    boolean
     
    string(T value)
    Returns a string representation of the given value formatted with this attributes format.
    boolean
    validItem(T value)
    Validates the given value against the valid items for this attribute.
  • Field Details

    • MNEMONIC_RESOURCE_SUFFIX

      static final String MNEMONIC_RESOURCE_SUFFIX
      The suffix used for the mnemonic resource key.
      • name=Name
      • name.mnemonic=N
      See Also:
    • DEFAULT_MAXIMUM_FRACTION_DIGITS

      static final int DEFAULT_MAXIMUM_FRACTION_DIGITS
      The default maximum fraction digits for floating point numbers
      See Also:
    • MAXIMUM_FRACTION_DIGITS

      static final is.codion.common.property.PropertyValue<Integer> MAXIMUM_FRACTION_DIGITS
      Specifies the default maximum number of fraction digits for double property values
      Note that values are rounded when set.
      • Value type: Integer
      • Default value: 10
    • DECIMAL_ROUNDING_MODE

      static final is.codion.common.property.PropertyValue<RoundingMode> DECIMAL_ROUNDING_MODE
      Specifies the default rounding mode used for decimal property values
      See Also:
    • TIME_FORMAT

      static final is.codion.common.property.PropertyValue<String> TIME_FORMAT
      The default date format pattern to use when showing time values in tables and when creating default time input fields
      • Value type: String
      • Default value: HH:mm
    • DATE_TIME_FORMAT

      static final is.codion.common.property.PropertyValue<String> DATE_TIME_FORMAT
      The default date/time format pattern to use when showing date/time values in tables and when creating default date/time input fields
      • Value type: String
      • Default value: dd-MM-yyyy HH:mm [month/day order is locale specific]
    • DATE_FORMAT

      static final is.codion.common.property.PropertyValue<String> DATE_FORMAT
      The default date format pattern to use when showing date values in tables and when creating default date input fields
      • Value type: String
      • Default value: dd-MM-yyyy [month/day order is locale specific]
    • NUMBER_FORMAT_GROUPING

      static final is.codion.common.property.PropertyValue<Boolean> NUMBER_FORMAT_GROUPING
      Specifies whether number format grouping is used by default
      • Value type: Boolean
      • Default value: false
    • GROUPING_SEPARATOR

      static final is.codion.common.property.PropertyValue<Character> GROUPING_SEPARATOR
      Specifies the default number grouping separator
      • Value type: Character
      • Default value: The grouping separator for the default locale
    • DECIMAL_SEPARATOR

      static final is.codion.common.property.PropertyValue<Character> DECIMAL_SEPARATOR
      Specifies the default number decimal separator.
      • Value type: Character
      • Default value: The decimal separator for the default locale
    • USE_LEXICAL_STRING_COMPARATOR

      static final is.codion.common.property.PropertyValue<Boolean> USE_LEXICAL_STRING_COMPARATOR
      Specifies whether String values should use a lexical comparator by default
      • Value type: Boolean
      • Default value: true
  • Method Details

    • attribute

      Attribute<T> attribute()
      The Attribute this definition is based on, should be unique within an Entity. By default, the Attribute.name() serves as column name for database columns.
      Returns:
      the attribute this definition is based on
    • entityType

      EntityType entityType()
      Returns:
      the type of the entity this attribute is associated with
    • caption

      String caption()
      Returns:
      the caption
    • description

      String description()
      Returns:
      a String describing this attribute
    • string

      String string(T value)
      Returns a string representation of the given value formatted with this attributes format. If no format is available Object.toString() is used. By default, null values result in an empty string.
      Parameters:
      value - the value to format.
      Returns:
      the value formatted as a string
      See Also:
    • hasDefaultValue

      boolean hasDefaultValue()
      Returns:
      true if a default value has been set for this attribute
    • defaultValue

      T defaultValue()
      Returns:
      the default value for this attribute, if no default value has been set null is returned
      See Also:
    • hidden

      boolean hidden()
      Returns:
      true if this attribute should be hidden in table views
    • maximumValue

      Number maximumValue()
      Returns:
      the maximum allowed value for this attribute, null if none is defined, only applicable to numerical attributes
    • minimumValue

      Number minimumValue()
      Returns:
      the minimum allowed value for this attribute, null if none is defined, only applicable to numerical attributes
    • maximumFractionDigits

      int maximumFractionDigits()
      Returns:
      the maximum number of fraction digits to use for this attribute value, -1 if this attribute is not based on Types.DOUBLE or Types.DECIMAL
      See Also:
    • decimalRoundingMode

      RoundingMode decimalRoundingMode()
      Returns:
      the rounding mode to use when working with decimal values
      See Also:
    • nullable

      boolean nullable()
      Returns:
      true if null is a valid value for this attribute
    • derived

      boolean derived()
      The value of a derived attribute can not be set, as it's value is derived from other values
      Returns:
      true if the value of this attribute is derived from one or more values
    • maximumLength

      int maximumLength()
      Returns:
      the maximum length of this attribute value, -1 is returned if the maximum length is undefined, this only applies to String (varchar) based attributes
    • mnemonic

      char mnemonic()
      Returns the mnemonic associated with this attribute.
      Returns:
      the mnemonic to use when creating a label for this attribute, 0 meaning no mnemonic
    • format

      Format format()
      Returns the Format used when presenting values for this attribute, null if none has been specified.
      Returns:
      the Format object used to format the value of attributes when being presented
    • dateTimePattern

      String dateTimePattern()
      Returns the date time format pattern used when presenting and inputting values for this attribute.
      Returns:
      the date/time format pattern
    • dateTimeFormatter

      DateTimeFormatter dateTimeFormatter()
      Returns the date time formatter used when presenting and inputting values for this attribute.
      Returns:
      the DateTimeFormatter for this attribute or null if this is not a date/time based attribute
    • comparator

      Comparator<T> comparator()
      Returns:
      the Comparator to use when comparing values associated with this attribute
    • validItem

      boolean validItem(T value)
      Validates the given value against the valid items for this attribute. Always returns true if this is not an item based attribute.
      Parameters:
      value - the value to validate
      Returns:
      true if the given value is a valid item for this attribute
      See Also:
    • items

      List<is.codion.common.item.Item<T>> items()
      Returns the valid items for this attribute or an empty list in case this is not an item based attribute
      Returns:
      an unmodifiable view of the valid items for this attribute