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

## Annotation Type 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.

- - ### 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.
    `java.lang.String` | `candidateValuesFilter` | The `CandidateValuesFilter` to apply when selecting values for this CI, SET_OF_CI, LIST_OF_CI property
    `java.lang.String` | `category` | The category of this property.
    `java.lang.String` | `defaultValue` | A Default value for a Property.
    `java.lang.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.
    `java.lang.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.
    `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.
    `Property.Size` | `size` | The size of this property as it should be shown in the user interface.

- - ### Element Detail

    - #### 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

  - - #### category

          java.lang.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

          java.lang.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

          java.lang.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

  - - #### size

          Property.Size size

      The size of this property as it should be shown in the user interface.
      Default:
        com.xebialabs.deployit.plugin.api.udm.Property.Size.DEFAULT

  - - #### defaultValue

          java.lang.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

          java.lang.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