KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > soto > state > ScopeMap


1 package org.sapia.soto.state;
2
3 import org.apache.commons.jexl.JexlContext;
4
5 import java.util.Collection JavaDoc;
6 import java.util.HashSet JavaDoc;
7 import java.util.Iterator JavaDoc;
8 import java.util.Map JavaDoc;
9 import java.util.Set JavaDoc;
10
11
12 /**
13  * @author Yanick Duchesne
14  * <dl>
15  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2003 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
16  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
17  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
18  * </dl>
19  */

20 public class ScopeMap implements java.util.Map JavaDoc, JexlContext {
21   private Map JavaDoc _scopes;
22   private String JavaDoc[] _scopeNames;
23
24   public ScopeMap(Map JavaDoc scopes, String JavaDoc[] scopeNames) {
25     _scopes = scopes;
26     _scopeNames = scopeNames;
27   }
28
29   /**
30    * @see org.apache.commons.jexl.JexlContext#getVars()
31    */

32   public Map JavaDoc getVars() {
33     return this;
34   }
35
36   /**
37    * @see org.apache.commons.jexl.JexlContext#setVars(java.util.Map)
38    */

39   public void setVars(Map JavaDoc arg0) {
40   }
41
42   /**
43    * @see java.util.Map#clear()
44    */

45   public void clear() {
46   }
47
48   /**
49    * @see java.util.Map#containsKey(java.lang.Object)
50    */

51   public boolean containsKey(Object JavaDoc key) {
52     Scope sc;
53
54     if (_scopeNames == null) {
55       for (int i = 0; i < _scopeNames.length; i++) {
56         sc = (Scope) _scopes.get(_scopeNames[i]);
57
58         if (sc != null) {
59           if (sc.getVal(key) != null) {
60             return true;
61           }
62         }
63       }
64     } else {
65       for (Iterator JavaDoc iter = _scopes.values().iterator(); iter.hasNext();) {
66         sc = (Scope) iter.next();
67
68         if (sc.getVal(key) != null) {
69           return true;
70         }
71       }
72     }
73
74     return false;
75   }
76
77   /**
78    * @see java.util.Map#containsValue(java.lang.Object)
79    */

80   public boolean containsValue(Object JavaDoc arg0) {
81     return false;
82   }
83
84   /**
85    * @see java.util.Map#entrySet()
86    */

87   public Set JavaDoc entrySet() {
88     return new HashSet JavaDoc();
89   }
90
91   /**
92    * @see java.util.Map#get(java.lang.Object)
93    */

94   public Object JavaDoc get(Object JavaDoc key) {
95     Scope sc;
96     Object JavaDoc toReturn = null;
97
98     if (_scopeNames != null) {
99       for (int i = 0; i < _scopeNames.length; i++) {
100         sc = (Scope) _scopes.get(_scopeNames[i]);
101
102         if (sc != null) {
103           if ((toReturn = sc.getVal(key)) != null) {
104             return toReturn;
105           }
106         }
107       }
108     } else {
109       for (Iterator JavaDoc iter = _scopes.values().iterator(); iter.hasNext();) {
110         sc = (Scope) iter.next();
111
112         if ((toReturn = sc.getVal(key)) != null) {
113           return toReturn;
114         }
115       }
116     }
117
118     return toReturn;
119   }
120
121   /**
122    * @see java.util.Map#isEmpty()
123    */

124   public boolean isEmpty() {
125     return false;
126   }
127
128   /**
129    * @see java.util.Map#keySet()
130    */

131   public Set JavaDoc keySet() {
132     return new HashSet JavaDoc();
133   }
134
135   /**
136    * @see java.util.Map#put(java.lang.Object, java.lang.Object)
137    */

138   public Object JavaDoc put(Object JavaDoc arg0, Object JavaDoc arg1) {
139     throw new UnsupportedOperationException JavaDoc(
140       "public Object put(Object arg0, Object arg1)");
141   }
142
143   /**
144    * @see java.util.Map#putAll(java.util.Map)
145    */

146   public void putAll(Map JavaDoc arg0) {
147     throw new UnsupportedOperationException JavaDoc("public void putAll(Map arg0)");
148   }
149
150   /**
151    * @see java.util.Map#remove(java.lang.Object)
152    */

153   public Object JavaDoc remove(Object JavaDoc arg0) {
154     throw new UnsupportedOperationException JavaDoc("public Object remove(Object arg0)");
155   }
156
157   /**
158    * @see java.util.Map#size()
159    */

160   public int size() {
161     return 0;
162   }
163
164   /**
165    * @see java.util.Map#values()
166    */

167   public Collection JavaDoc values() {
168     return new HashSet JavaDoc();
169   }
170 }
171
Popular Tags