What are the minimal characteristics for something to be a JavaBean component?

John Zukowski

The only absolute requirement is that the component implement the java.io.Serializable interface.

Usually, you'll find the following, but they are not requirements from the strictest sense, only from a usability sense:

  • Has a public no-argument constructor
  • Follows JavaBeans design patterns
    • Set / get methods for properties
    • Add / remove methods for events
    • Delegation-based event model
  • Thread safe / security conscious
    • Can run in an applet, application, servlet, ...