KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > xam > ui > category > AbstractCategoryPane


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.xam.ui.category;
21
22 import java.beans.PropertyChangeListener JavaDoc;
23 import java.beans.PropertyChangeSupport JavaDoc;
24
25 /**
26  * Abstract implementation of CategoryPane, used by concrete implementations.
27  *
28  * @author Nathan Fiedler
29  */

30 public abstract class AbstractCategoryPane implements CategoryPane {
31     /** Property change support for firing events to listeners. */
32     protected PropertyChangeSupport JavaDoc changeSupport;
33     /** The currently selected (visible) Category. */
34     private Category currentCategory;
35
36     /**
37      * Creates a new instance of AbstractCategoryPane.
38      */

39     public AbstractCategoryPane() {
40         changeSupport = new PropertyChangeSupport JavaDoc(this);
41     }
42
43     public void addPropertyChangeListener(PropertyChangeListener JavaDoc listener) {
44         changeSupport.addPropertyChangeListener(listener);
45     }
46
47     public void addPropertyChangeListener(String JavaDoc name, PropertyChangeListener JavaDoc listener) {
48         changeSupport.addPropertyChangeListener(name, listener);
49     }
50
51     public Category getCategory() {
52         return currentCategory;
53     }
54
55     public void removePropertyChangeListener(PropertyChangeListener JavaDoc listener) {
56         changeSupport.removePropertyChangeListener(listener);
57     }
58
59     public void removePropertyChangeListener(String JavaDoc name, PropertyChangeListener JavaDoc listener) {
60         changeSupport.removePropertyChangeListener(name, listener);
61     }
62
63     public void setCategory(Category category) {
64         if (category == null) {
65             throw new IllegalArgumentException JavaDoc("category cannot be null");
66         }
67         Category oldcat = currentCategory;
68         currentCategory = category;
69         changeSupport.firePropertyChange(PROP_CATEGORY, oldcat, category);
70     }
71 }
72
Popular Tags