This package contains meta data for describing JavaFX Beans. The set of available meta data can be used to describe both visual, and non-visual beans. Any bean may have properties and events.
The meta-data comes in two parts. A DesignInfo is a side-car file which is ultimately what is used by tools to understand the structure, default values, and other meta information about a bean. This DesignInfo can be created by hand, or it can be automatically generated using annotations and an annotation processor.
Although a Bean can have any arbitrary methods, in general we support only Beans with default constructors or a builder. We are happy to construct immutable objects or complicated objects by deferring to a builder rather than attempting to construct the object directly. In such a case, the only methods of constructed supported on the builder are those that directly relate to properties defined on the object.
Any bean may have zero or more Properties. A Property may be a simple property (such as "visible" on Node), or complex (such as "font" or "clip"), or an event (such as "onMouseMoved"). But they are all just properties (even events are just properties, as are callbacks). Both Event properties and Callback properties are handled specially since they take code blocks rather than normal objects.