# Package groovy.beans

## Package groovy.beans Description

JavaBean property binding and change notification via AST transformations.

Provides @Bindable for property change observation and groovy.beans.Vetoable for constrained properties with veto support.

- Interface Summary
  Interface | Description
  --- | ---
  PropertyAccessor | Strategy for reading and writing named properties.
  PropertyReader | Strategy for reading a named property from an object.
  PropertyWriter | Strategy for writing a named property on an object.

- Class Summary
  Class | Description
  --- | ---
  BindableASTStubber | Joint-compilation stubber for Bindable (class-level use).
  BindableASTTransformation | Handles generation of code for the `@Bindable` annotation when `@Vetoable` is not present.
  DefaultPropertyAccessor | Default PropertyAccessor implementation backed by the standard Groovy property reader and writer.
  DefaultPropertyReader | Default PropertyReader implementation using Groovy property access.
  DefaultPropertyWriter | Default PropertyWriter implementation using Groovy property access.
  ListenerListASTStubber | Joint-compilation stubber for ListenerList.
  ListenerListASTTransformation | Handles generation of code for the `@ListenerList` annotation.
  VetoableASTStubber | Joint-compilation stubber for Vetoable (class-level use).
  VetoableASTTransformation | Handles generation of code for the `@Vetoable` annotation, and `@Bindable` if also present.

- Annotation Type Summary
  Annotation Type | Description
  --- | ---
  Bindable | Annotates a groovy property or a class.
  ListenerList | This annotation adds Java-style listener support to a class based on an annotated Collection-property.
  Vetoable | Annotates a groovy property or a class.