KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > axi > visitor > Preview


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.axi.visitor;
21
22 import java.util.ArrayList JavaDoc;
23 import java.util.HashMap JavaDoc;
24 import java.util.Map JavaDoc;
25 import org.netbeans.modules.xml.axi.AXIComponent;
26
27 /**
28  * The preview class encapsulates a collection of global elements,
29  * used by other global elements.
30  *
31  * @author Ayub Khan
32  */

33 public class Preview {
34     
35     Map JavaDoc<AXIComponent, java.util.List JavaDoc<AXIComponent>> pmap =
36             new HashMap JavaDoc<AXIComponent, java.util.List JavaDoc<AXIComponent>>();
37     Map JavaDoc<AXIComponent, java.util.List JavaDoc<AXIComponent>> reversemap =
38             new HashMap JavaDoc<AXIComponent, java.util.List JavaDoc<AXIComponent>>();
39     
40     /** Creates a new instance of Preview */
41     public Preview() {
42     }
43     
44     /**
45      * Returns a collection of schema components, all of which,
46      * reference the same global schema component.
47      */

48     public Map JavaDoc<AXIComponent, java.util.List JavaDoc<AXIComponent>> getUsages() {
49         return pmap;
50     }
51     
52     /**
53      * Returns a collection of schema components, all of which,
54      * reference the same global schema component.
55      */

56     public Map JavaDoc<AXIComponent, java.util.List JavaDoc<AXIComponent>> getReverseUsages() {
57         return reversemap;
58     }
59     
60     void addToUsage(AXIComponent c, AXIComponent usedBy) {
61         java.util.List JavaDoc<AXIComponent> l = pmap.get(c);
62         if(l == null) {
63             l = new ArrayList JavaDoc<AXIComponent>();
64             pmap.put(c, l);
65         }
66         l.add(usedBy);
67         
68         addToReverseUsage(c, usedBy);
69     }
70     
71     void addToReverseUsage(AXIComponent c, AXIComponent usedBy) {
72         java.util.List JavaDoc<AXIComponent> r = reversemap.get(usedBy);
73         if(r == null) {
74             r = new ArrayList JavaDoc<AXIComponent>();
75             reversemap.put(usedBy, r);
76         }
77         r.add(c);
78     }
79 }
80
Popular Tags