1. /*
  2. * @(#)Customizer.java 1.16 00/02/02
  3. *
  4. * Copyright 1996-2000 Sun Microsystems, Inc. All Rights Reserved.
  5. *
  6. * This software is the proprietary information of Sun Microsystems, Inc.
  7. * Use is subject to license terms.
  8. *
  9. */
  10. package java.beans;
  11. /**
  12. * A customizer class provides a complete custom GUI for customizing
  13. * a target Java Bean.
  14. * <P>
  15. * Each customizer should inherit from the java.awt.Component class so
  16. * it can be instantiated inside an AWT dialog or panel.
  17. * <P>
  18. * Each customizer should have a null constructor.
  19. */
  20. public interface Customizer {
  21. /**
  22. * Set the object to be customized. This method should be called only
  23. * once, before the Customizer has been added to any parent AWT container.
  24. * @param bean The object to be customized.
  25. */
  26. void setObject(Object bean);
  27. /**
  28. * Register a listener for the PropertyChange event. The customizer
  29. * should fire a PropertyChange event whenever it changes the target
  30. * bean in a way that might require the displayed properties to be
  31. * refreshed.
  32. *
  33. * @param listener An object to be invoked when a PropertyChange
  34. * event is fired.
  35. */
  36. void addPropertyChangeListener(PropertyChangeListener listener);
  37. /**
  38. * Remove a listener for the PropertyChange event.
  39. *
  40. * @param listener The PropertyChange listener to be removed.
  41. */
  42. void removePropertyChangeListener(PropertyChangeListener listener);
  43. }