java.beans

## Annotation Type BeanProperty

    @Documented
    @Target(METHOD)
    @Retention(RUNTIME)
    public @interface BeanProperty

An annotation used to specify some property-related information for the automatically generated `BeanInfo` classes. This annotation is not used if the annotated class has a corresponding user-defined `BeanInfo` class, which does not imply the automatic analysis.

Since:
  9
See Also:
  `BeanInfo.getPropertyDescriptors()`

### Optional Element Summary

Optional Elements
`boolean` `bound` The value that indicates whether the annotated property can be a `bound` property or not.
`String` `description` The `short description` for the `descriptor` of the annotated property.
`String[]` `enumerationValues` The array of names for the public static fields that contains the valid values of the annotated property.
`boolean` `expert` The value that indicates whether the annotated property is an `expert` property or not.
`boolean` `hidden` The value that indicates whether the annotated property is a `hidden` property or not.
`boolean` `preferred` The value that indicates whether the annotated property is a `preferred` property or not.
`boolean` `required` The value that indicates whether the annotated property is a required property or not.
`boolean` `visualUpdate` The value that indicates whether the corresponding component is repainted after the annotated property got changed or not.

### Element Detail

#### bound

    boolean bound

The value that indicates whether the annotated property can be a `bound` property or not. This value applies only to the beans that have the `propertyChange` event set.

Returns:
  `true` if the annotated property can be a bound property; `false` otherwise.

Default:
  true

#### description

    String description

The `short description` for the `descriptor` of the annotated property.

Returns:
  the property description, or an empty string if the description is not set.

Default:
  ""

#### enumerationValues

    String[] enumerationValues

The array of names for the public static fields that contains the valid values of the annotated property. These names are used to generate the `enumerationValues` `feature attribute` that must contain the following items per each property value: a displayable name for the property value, the actual property value, and a Java code piece used for the code generator.

Returns:
  the names of the valid values of the annotated property, or an empty array if the names are not provided.

Default:
  {}

#### expert

    boolean expert

The value that indicates whether the annotated property is an `expert` property or not.

Returns:
  `true` if the annotated property is an expert property; `false` otherwise.

Default:
  false

#### hidden

    boolean hidden

The value that indicates whether the annotated property is a `hidden` property or not.

Returns:
  `true` if the annotated property is a hidden property; `false` otherwise.

Default:
  false

#### preferred

    boolean preferred

The value that indicates whether the annotated property is a `preferred` property or not.

Returns:
  `true` if the annotated property is a preferred property; `false` otherwise.

Default:
  false

#### required

    boolean required

The value that indicates whether the annotated property is a required property or not.

Returns:
  `true` if the annotated property is a required property; `false` otherwise.

Default:
  false

#### visualUpdate

    boolean visualUpdate

The value that indicates whether the corresponding component is repainted after the annotated property got changed or not.

Returns:
  `true` if the corresponding component is repainted; `false` otherwise.

Default:
  false