samples/friendpackage/src/apipkg/Item.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:50:27 +0200
changeset 0 32b39aaa68f0
child 3 b44baa125b38
permissions -rw-r--r--
Adding friend access example
jtulach@0
     1
/*
jtulach@0
     2
 *                 Sun Public License Notice
jtulach@0
     3
 * 
jtulach@0
     4
 * The contents of this file are subject to the Sun Public License
jtulach@0
     5
 * Version 1.0 (the "License"). You may not use this file except in
jtulach@0
     6
 * compliance with the License. A copy of the License is available at
jtulach@0
     7
 * http://www.sun.com/
jtulach@0
     8
 * 
jtulach@0
     9
 * The Original Code is NetBeans. The Initial Developer of the Original
jtulach@0
    10
 * Code is Sun Microsystems, Inc. Portions Copyright 1999-2006 Sun
jtulach@0
    11
 * Microsystems, Inc. All Rights Reserved.
jtulach@0
    12
 */
jtulach@0
    13
jtulach@0
    14
package apipkg;
jtulach@0
    15
jtulach@0
    16
import implpkg.Accessor;
jtulach@0
    17
import javax.swing.event.ChangeEvent;
jtulach@0
    18
import javax.swing.event.ChangeListener;
jtulach@0
    19
jtulach@0
    20
/** Class in API that everyone can use.
jtulach@0
    21
 *
jtulach@0
    22
 * @author Jaroslav Tulach
jtulach@0
    23
 */
jtulach@0
    24
public final class Item {
jtulach@0
    25
    private int value;
jtulach@0
    26
    private ChangeListener listener;
jtulach@0
    27
    
jtulach@0
    28
    static {
jtulach@0
    29
        Accessor.DEFAULT = new AccessorImpl();
jtulach@0
    30
    }
jtulach@0
    31
    
jtulach@0
    32
    /** Contructor for friends */
jtulach@0
    33
    Item() {
jtulach@0
    34
    }
jtulach@0
    35
    
jtulach@0
    36
    /** Anyone can value of the item. At least if it can get a reference to it.
jtulach@0
    37
     */
jtulach@0
    38
    public void setValue(int x) {
jtulach@0
    39
        value = x;
jtulach@0
    40
        ChangeListener l = listener;
jtulach@0
    41
        if (l != null) {
jtulach@0
    42
            l.stateChanged(new ChangeEvent(this));
jtulach@0
    43
        }
jtulach@0
    44
    }
jtulach@0
    45
    
jtulach@0
    46
    /** Anyone can get the value of the item. 
jtulach@0
    47
     */
jtulach@0
    48
    public int getValue() {
jtulach@0
    49
        return value;
jtulach@0
    50
    }
jtulach@0
    51
    
jtulach@0
    52
    /** Only the impl package can listen.
jtulach@0
    53
     */
jtulach@0
    54
    void addChangeListener(ChangeListener l) {
jtulach@0
    55
        assert listener == null;
jtulach@0
    56
        listener = l;
jtulach@0
    57
    }
jtulach@0
    58
    
jtulach@0
    59
}