KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > lib > jmi > mapping > JMIMapperImpl


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-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 package org.netbeans.lib.jmi.mapping;
20
21 import java.beans.PropertyChangeListener JavaDoc;
22 import java.beans.PropertyChangeSupport JavaDoc;
23 import org.netbeans.api.mdr.*;
24 import javax.jmi.reflect.RefBaseObject;
25 import java.io.*;
26
27 /**
28  *
29  * @author mm109185
30  */

31 public class JMIMapperImpl extends JMIMapper implements Serializable {
32
33     /** name of property mapper header */
34     public static final String JavaDoc PROP_HEADER = "header"; //NOI18N
35

36     /** listeners support */
37     private transient PropertyChangeSupport JavaDoc supp;
38
39     private String JavaDoc header = "";
40
41     // init ......................................................................
42

43     /** Creates new JMIMapperImpl */
44     public JMIMapperImpl() {
45     }
46
47     // methods ...................................................................
48

49     public String JavaDoc getHeader () {
50         return header;
51     }
52     
53     public void setHeader (String JavaDoc header) {
54         String JavaDoc oldHeader = this.header;
55         if (!oldHeader.equals(header)) {
56             this.header = header;
57             init();
58             supp.firePropertyChange(PROP_HEADER, oldHeader, header);
59         }
60     }
61         
62     public void generate(JMIStreamFactory sf, RefBaseObject object) throws IOException {
63         new JavaMapper(sf, header).visitRefBaseObject(object);
64     }
65
66     /** Add a property change listener.
67     * @param l the listener to add
68     */

69     public final void addPropertyChangeListener(PropertyChangeListener JavaDoc l) {
70         init();
71         supp.addPropertyChangeListener(l);
72     }
73
74     /** Remove a property change listener.
75     * @param l the listener to remove
76     */

77     public final void removePropertyChangeListener(PropertyChangeListener JavaDoc l) {
78         if (supp != null) supp.removePropertyChangeListener(l);
79     }
80     
81     private synchronized void init() {
82         if (supp == null) {
83             supp = new PropertyChangeSupport JavaDoc(this);
84         }
85     }
86 }
87
Popular Tags