JavaBean API provides a set of related interfaces and classes necessary to design and develop beans in a separate package, java.beans. Not all the classes and interfaces are used all the time to develop a bean. For example, the event classes are used by beans that fire property and vetoable change events. However, most of the classes in this package are used by a bean builder/editor. In particular, these classes and interfaces help the bean builder/editor to create user interfaces that the user can use to customize their beans. Tables 26.1,26.2, and 26.3 respectively show the list of interfaces, classes, and exceptions, which are used to develop beans.
Source: Uttam Kumar Roy (2015), Advanced Java programming, Oxford University Press.