Package com.xebialabs.deployit.plugin.api.udm

# Annotation Interface Property

@Documented @Retention(RUNTIME) @Target(FIELD) public @interface Property
Specifies that this field is part of the configuration item. It will be injected with the correct value to be read from runbooks.

N.B.: If this annotation is used on a field of an `Enum` type, the enum should not have a toString method defined.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `Property.Size`
  Defines a number of standard sizes for configuration item properties.

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `boolean`
  `asContainment`
  Whether this property is modeled as a parent/child containment instead of a foreign key reference in the JCR tree.
  `String`
  `candidateValuesFilter`
  The `CandidateValuesFilter` to apply when selecting values for this CI, SET_OF_CI, LIST_OF_CI property
  `String`
  `category`
  The category of this property.
  `String`
  `defaultValue`
  A Default value for a Property.
  `String`
  `description`
  The description of this property as it should be shown in the user interface.
  `boolean`
  `hidden`
  Whether this property is hidden, ie.
  `boolean`
  `isTransient`
  Whether or not this property is transient, ie.
  `String`
  `label`
  The descriptive id of this property as it should be shown in the user interface.
  `boolean`
  `nested`
  Whether this property is a nested CI.
  `int`
  `order`
  Order of the property
  `boolean`
  `password`
  Whether this property is a password property.
  `boolean`
  `readonly`
  Whether or not this property is readonly.
  `boolean`
  `required`
  Whether this property is required.
  `boolean`
  `secret`
  Whether this property contains sensitive data (e.g., certificates, private keys, API keys).
  `Property.Size`
  `size`
  The size of this property as it should be shown in the user interface.

- ## Element Details

  - ### asContainment

    boolean asContainment
    Whether this property is modeled as a parent/child containment instead of a foreign key reference in the JCR tree.
    Default:
      `false`

  - ### nested

    boolean nested
    Whether this property is a nested CI.
    Default:
      `false`

  - ### order

    int order
    Order of the property
    Default:
      `0`

  - ### category

    String category
    The category of this property. In the user interface all the properties belonging to the same category will be grouped together.
    Default:
      `"Common"`

  - ### label

    String label
    The descriptive id of this property as it should be shown in the user interface. If no id is not specified, the name of the field is used. Camel case in the field name is replaced by spaces and the first character is capitalized, e.g. "classLoaderPolicy" is transformed into "Class loader policy".
    Default:
      `""`

  - ### description

    String description
    The description of this property as it should be shown in the user interface. If no description is specified, the id is used.
    Default:
      `""`

  - ### required

    boolean required
    Whether this property is required.
    Default:
      `true`

  - ### password

    boolean password
    Whether this property is a password property. If `true` this field will be masked in the user interface.
    Default:
      `false`

  - ### secret

    boolean secret
    Whether this property contains sensitive data (e.g., certificates, private keys, API keys). If `true`, the value will be written to secrets.xlvals during export instead of inline in YAML.
    Default:
      `false`

  - ### size

    Property.Size size
    The size of this property as it should be shown in the user interface.
    Default:
      `DEFAULT`

  - ### defaultValue

    String defaultValue
    A Default value for a Property. Can only be a String due to Java limitations. PropertyDescriptor will convert it for you.
    Default:
      `""`

  - ### hidden

    boolean hidden
    Whether this property is hidden, ie. cannot be changed via a client.
    Default:
      `false`

  - ### isTransient

    boolean isTransient
    Whether or not this property is transient, ie. it won't be persisted when the CI is persisted. N.B.: You cannot use 'real' transient fields, due to the recovery of tasks.
    Default:
      `false`

  - ### candidateValuesFilter

    String candidateValuesFilter
    The `CandidateValuesFilter` to apply when selecting values for this CI, SET_OF_CI, LIST_OF_CI property
    Returns:
      The name of the `CandidateValuesFilter`
    Default:
      `""`

  - ### readonly

    boolean readonly
    Whether or not this property is readonly. If readonly, the property cannot be updated.
    Default:
      `false`