KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > javacore > parser > MethodScopeMember


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 /*
20  * MemberFieldScope.java
21  *
22  * Created on April 29, 2003, 3:44 PM
23  */

24
25 package org.netbeans.modules.javacore.parser;
26
27 import java.util.ArrayList JavaDoc;
28 import java.util.HashMap JavaDoc;
29 import java.util.List JavaDoc;
30 import java.util.Map JavaDoc;
31 import org.netbeans.jmi.javamodel.ClassDefinition;
32 import org.netbeans.jmi.javamodel.Method;
33
34 /**
35  *
36  * @author Tomas Hurka
37  */

38 class MethodScopeMember implements ScopeMember {
39     private ClassDefinition javaClass;
40     private Map JavaDoc methodsMap;
41
42     /** Creates a new instance of MemberFieldScope */
43     MethodScopeMember(ClassDefinition jcls) {
44         javaClass=jcls;
45     }
46     
47     private void initMethodsMap() {
48         Object JavaDoc features[]=javaClass.getContents().toArray();
49         
50         methodsMap=new HashMap JavaDoc();
51         javaClass=null;
52         for (int i=0;i<features.length;i++) {
53             Object JavaDoc feature=features[i];
54             
55             if (feature instanceof Method) {
56                 Method method=(Method)feature;
57                 String JavaDoc name=method.getName();
58                 Object JavaDoc ms=methodsMap.get(name);
59                 
60                 if (ms==null) {
61                     methodsMap.put(name,method);
62                 } else {
63                     if (ms instanceof Method) {
64                         List JavaDoc mlist=new ArrayList JavaDoc();
65                         mlist.add(ms);
66                         methodsMap.put(name,mlist);
67                         ms=mlist;
68                     }
69                     ((List JavaDoc)ms).add(method);
70                 }
71             }
72         }
73     }
74     
75     public Object JavaDoc lookup(Object JavaDoc key) {
76         if (methodsMap==null)
77             initMethodsMap();
78         return methodsMap.get(key);
79     }
80 }
81
Popular Tags