Annotation Interface PropertyConstraints


@Retention(CLASS) @Target({}) @Documented public @interface PropertyConstraints
Specifies string case, lower and upper bounds (for strings and numbers), whether or not the associated property is required, and whether or not the associated property can be changed after the owning object has been persisted.

Supported API: true

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Determines whether the generated setter for the associated property should veto a change if the object owning the property has been persisted.
    int
    The fixed length of the array.
    int
    The lower limit of a number or string.
    boolean
    Indicates whether or not this value is required.
    The case of the string.
    int
    The upper limit of a number or string.
  • Element Details

    • stringCase

      StringCase stringCase
      The case of the string. Ignored if the associated property is not a string.

      Rose conversion note: Corresponds to Class Attribute Specification -> Windchill -> StringCase.

      Supported API: true

      Default:
      DEFAULT
    • lowerLimit

      int lowerLimit
      The lower limit of a number or string. If unchanged for a string (left as Integer.MIN_VALUE) assumed to be zero (0).

      Rose conversion note: Corresponds to Class Attribute Specification -> Windchill -> LowerLimit.

      Supported API: true

      Default:
      -2147483648
    • upperLimit

      int upperLimit
      The upper limit of a number or string. If unchanged for a string (left as Integer.MAX_VALUE) assumed to be two hundred (200). This property affects the size of the associated VARCHAR2/NVARCHAR (for example, a value of 200 will result in a SQL column with "VARCHAR2(200)").

      Rose conversion note: Corresponds to Class Attribute Specification -> Windchill -> UpperLimit.

      Supported API: true

      Default:
      2147483647
    • fixedArrayLength

      int fixedArrayLength
      The fixed length of the array. If left as the default value of 0, assumes no fixed length. Any positive value implies that the array's length is fixed to the value specified.

      This property makes sense only if the property's type is an array. Setting this property will result in "n" columns numbered as columnName_0 to columnName_n-1. Non-fixed arrays (and collections) are stored as blobs.

      Supported API: true

      Default:
      0
    • required

      boolean required
      Indicates whether or not this value is required. Note that this doesn't always imply that the column be defined as NOT NULL, as the field may be part of an ObjectMappable that is not itself required.

      For foreign key roles, setting this property to true has the effect of giving it a cardinality of 1, otherwise it's considered 0..1. If you are constraining an existing foreign key, you may leave this value unspecified, or you may constrain a setting of 0..1 (required=false) by setting this to true; "unconstraining" (going from true to false) is not supported, however.

      Rose conversion note: Corresponds to Class Attribute Specification -> Windchill -> Required and Association Specification -> Role A/B Detail -> Multiplicity.

      Supported API: true

      Default:
      false
    • changeable

      Changeable changeable
      Determines whether the generated setter for the associated property should veto a change if the object owning the property has been persisted.

      Rose conversion note: Corresponds to Class Attribute Specification -> Windchill -> Changeable.

      Supported API: true

      Default:
      DEFAULT