# Annotation Interface TitleProperty

@Documented @Inherited @Target(TYPE) @Retention(RUNTIME) public @interface TitleProperty
Identifies the name of a property to use for summarizing in one line the content of a metadata object. For example, in a citation instance, the `"title"` property is often the only information that a user needs for a first look. This annotation is used in metadata tree views for producing briefer trees, especially when there is redundant node names.

## Example

the `Citation` type contains a date property which itself contains another date property. They form a tree like below:

      Citation
       ├─Title……………………… My document
       └─Date
          ├─Date………………… 2012/01/01
          └─Date type…… Creation

With `@TitleProperty(name="title")` on `DefaultCitation` implementation class and `@TitleProperty(name="date")` on `DefaultCitationDate` class, Apache SIS can produce a more compact tree table view should be as below:

      Citation……………………… My document
       └─Date………………………… 2012/01/01
          └─Date type…… Creation

## Condition

The property referenced by this annotation should be the main property if possible, but not necessarily since it may be only a label. However, the property shall be a singleton ([0…1] or [1…1] multiplicity) and cannot be another metadata object.

Since:
  0.8
See Also:
  - `ValueExistencePolicy​.COMPACT`

- ## Required Element Summary

  Required Elements
  Modifier and Type
  Required Element
  Description
  `String`
  `name`
  Returns the name of the property to use as a title for a metadata object.

- ## Element Details

  - ### name

    String name
    Returns the name of the property to use as a title for a metadata object. An empty value means that the metadata has no title property (may be used for overriding a value inherited from the parent type).
    Returns:
      property name of the value to use as a title or summary sentence, or an empty value if none.