samples/friendpackage/src/apipkg/Item.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:58:11 +0200
changeset 154 0fd5e9c500b9
parent 153 b5cbb797ec0a
child 190 8b87a7d88b31
permissions -rw-r--r--
Merge: Geertjan's changs up to 2000
jtulach@0
     1
package apipkg;
jtulach@0
     2
jtulach@0
     3
import implpkg.Accessor;
jtulach@0
     4
import javax.swing.event.ChangeEvent;
jtulach@0
     5
import javax.swing.event.ChangeListener;
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@3
    16
    // BEGIN: design.less.friend.Item.static
jtulach@0
    17
    static {
jtulach@128
    18
        Accessor.setDefault(new AccessorImpl());
jtulach@0
    19
    }
jtulach@3
    20
    // END: design.less.friend.Item.static
jtulach@0
    21
    
jtulach@0
    22
    /** Contructor for friends */
jtulach@0
    23
    Item() {
jtulach@0
    24
    }
jtulach@0
    25
    
jtulach@154
    26
    /** Anyone can value of the item. At least if it 
jtulach@154
    27
     * can get a reference to it.
jtulach@0
    28
     */
jtulach@0
    29
    public void setValue(int x) {
jtulach@0
    30
        value = x;
jtulach@0
    31
        ChangeListener l = listener;
jtulach@0
    32
        if (l != null) {
jtulach@0
    33
            l.stateChanged(new ChangeEvent(this));
jtulach@0
    34
        }
jtulach@0
    35
    }
jtulach@0
    36
    
jtulach@0
    37
    /** Anyone can get the value of the item. 
jtulach@0
    38
     */
jtulach@0
    39
    public int getValue() {
jtulach@0
    40
        return value;
jtulach@0
    41
    }
jtulach@0
    42
    
jtulach@0
    43
    /** Only the impl package can listen.
jtulach@0
    44
     */
jtulach@0
    45
    void addChangeListener(ChangeListener l) {
jtulach@0
    46
        assert listener == null;
jtulach@0
    47
        listener = l;
jtulach@0
    48
    }
jtulach@0
    49
    
jtulach@0
    50
}
jtulach@3
    51
// END: design.less.friend.Item