3 import implpkg.Accessor;
4 import javax.swing.event.ChangeEvent;
5 import javax.swing.event.ChangeListener;
7 /** Class in API that everyone can use.
9 * @author Jaroslav Tulach
11 // BEGIN: design.less.friend.Item
12 public final class Item {
14 private ChangeListener listener;
16 // BEGIN: design.less.friend.Item.static
18 Accessor.setDefault(new AccessorImpl());
20 // END: design.less.friend.Item.static
22 /** Contructor for friends */
26 /** Anyone can value of the item. At least if it
27 * can get a reference to it.
29 public void setValue(int x) {
31 ChangeListener l = listener;
33 l.stateChanged(new ChangeEvent(this));
37 /** Anyone can get the value of the item.
39 public int getValue() {
43 /** Only the impl package can listen.
45 void addChangeListener(ChangeListener l) {
46 assert listener == null;
51 // END: design.less.friend.Item