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