| author | Jaroslav Tulach <jtulach@netbeans.org> |
| Sat Feb 20 18:20:10 2010 +0100 | |
| changeset 347 | 481fbbbcc7b7 |
| parent 285 | 321b25b8f6f8 |
| permissions | -rw-r--r-- |
| jtulach@287 | 1 |
package org.apidesign.friendpackage.api; |
| jtulach@0 | 2 |
|
| jtulach@0 | 3 |
import javax.swing.event.ChangeEvent; |
| jtulach@0 | 4 |
import javax.swing.event.ChangeListener; |
| jtulach@287 | 5 |
import org.apidesign.friendpackage.impl.Accessor; |
| jtulach@0 | 6 |
|
| jtulach@0 | 7 |
/** Class in API that everyone can use. |
| jtulach@0 | 8 |
* |
| jtulach@0 | 9 |
* @author Jaroslav Tulach |
| jtulach@0 | 10 |
*/ |
| jtulach@3 | 11 |
// BEGIN: design.less.friend.Item |
| jtulach@0 | 12 |
public final class Item {
|
| jtulach@0 | 13 |
private int value; |
| jtulach@0 | 14 |
private ChangeListener listener; |
| jtulach@3 | 15 |
|
| jtulach@190 | 16 |
/** Only friends can create instances. */ |
| jtulach@0 | 17 |
Item() {
|
| jtulach@0 | 18 |
} |
| jtulach@0 | 19 |
|
| jtulach@190 | 20 |
/** Anyone can change value of the item. |
| jtulach@0 | 21 |
*/ |
| jtulach@190 | 22 |
public void setValue(int newValue) {
|
| jtulach@190 | 23 |
value = newValue; |
| jtulach@0 | 24 |
ChangeListener l = listener; |
| jtulach@0 | 25 |
if (l != null) {
|
| jtulach@0 | 26 |
l.stateChanged(new ChangeEvent(this)); |
| jtulach@0 | 27 |
} |
| jtulach@0 | 28 |
} |
| jtulach@0 | 29 |
|
| jtulach@0 | 30 |
/** Anyone can get the value of the item. |
| jtulach@0 | 31 |
*/ |
| jtulach@0 | 32 |
public int getValue() {
|
| jtulach@0 | 33 |
return value; |
| jtulach@0 | 34 |
} |
| jtulach@0 | 35 |
|
| jtulach@190 | 36 |
/** Only friends can listen to changes. |
| jtulach@0 | 37 |
*/ |
| jtulach@0 | 38 |
void addChangeListener(ChangeListener l) {
|
| jtulach@0 | 39 |
assert listener == null; |
| jtulach@0 | 40 |
listener = l; |
| jtulach@0 | 41 |
} |
| jtulach@285 | 42 |
// FINISH: design.less.friend.Item |
| jtulach@285 | 43 |
|
| jtulach@285 | 44 |
// BEGIN: design.less.friend.Item.static |
| jtulach@285 | 45 |
static {
|
| jtulach@285 | 46 |
Accessor.setDefault(new AccessorImpl()); |
| jtulach@285 | 47 |
} |
| jtulach@285 | 48 |
// END: design.less.friend.Item.static |
| jtulach@0 | 49 |
} |