# PrismReferenceDefinitionType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/prism-schema-3

Supertype: PrismItemDefinitionType

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property QName | [1,1] | Name of the item.
displayName | property string | [0,1] | Human readable name.
help | property string | [0,1] | Help text for the displayed item.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
displayOrder | property int | [0,1] | Order of element.
displayHint | property DisplayHintType | [0,1] | Enumeration annotation that specifies how the item should be displayed.
lifecycleState | property string | [0,1] | Lifecycle state of the object.
type | property QName | [1,1] | Type of the item.
required | property boolean | [0,1] | Mark that this item is required.
multivalue | property boolean | [0,1] | Mark that this item is multivalue.
indexed | property boolean | [0,1] | Mark that this item is indexed.
valueEnumerationRef | reference ObjectReferenceType | [0,1] | Reference to an object that directly or indirectly represents possible values for this item.
access | property AccessAnnotationType | [0,-1] | Item annotation: access restrictions.
objectReferenceTargetType | property QName | [0,1] | Object reference annotation: reference target type.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Display order: 0

    Name of the item.

  - #### displayName

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Human readable name. This name may be displayed in tools and GUIs to provide more pleasant user experience, as the XML data type names or object names may look quite frightening.

    The "displayName" should contain a value that is readable for almost any user. It is never used in the "logic", it is used only for display purposes.

    The use of national characters is in "displayName" is fully supported.

    DisplayName is reused in several location, but the meaning is still the same.

  - #### help

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Help text for the displayed item. Help text is usually displayed when the user clicks on help/information icon. This may be a longer text (several sentences).

    This is equivalent to "help" schema annotation.

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### displayOrder

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Order of element.

  - #### displayHint

    Flags: RAM,runtime,AVals:5

    Multiplicity: [0,1]

    Display order:

    Enumeration annotation that specifies how the item should be displayed.

  - #### lifecycleState

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Lifecycle state of the object. This property defines whether the object represents proposed definition, whether it is active, deprecated and archived. Only this values is supported. You can change value to next in order but not back. See "Object Lifecycle" in the documentation.

  - #### type

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Display order: 10

    Type of the item.

  - #### required

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 30

    Mark that this item is required.

  - #### multivalue

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 40

    Mark that this item is multivalue.

  - #### indexed

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 50

    Mark that this item is indexed. The default value for indexed flag (i.e. the XSD annotation) is true for the above supported types, and it can be switched to false if the property is not important for searching. For other property types, complex types or extension containers (and their content) it is false and cannot be changed to true. It is only possible to search by the properties on the top level of the extension container.

  - #### valueEnumerationRef

    Flags: RAM

    Multiplicity: [0,1]

    Display order:

    Reference to an object that directly or indirectly represents possible values for this item. We do not define here what exactly the object has to be. It can be a lookup table, script that dynamically produces the values or anything similar. The object must produce the values of the correct type for this item otherwise an error occurs.

  - #### access

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,-1]

    Display order:

    Item annotation: access restrictions. This annotation specifies the allowed operations for an item. If no access annotation is present then all operations are allowed.

  - #### objectReferenceTargetType

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: 20

    Object reference annotation: reference target type. Content of this annotation specifies the object type that the reference points to.