Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/alicebot/server/core/node/Nodemaster.java


1   // Decompiled by Jad v1.5.8c. Copyright 2001 Pavel Kouznetsov.
2   // Jad home page: http://www.geocities.com/kpdus/jad.html
3   // Decompiler options: packimports(3) 
4   
5   package org.alicebot.server.core.node;
6   
7   import java.util.*;
8   
9   // Referenced classes of package org.alicebot.server.core.node:
10  //            Nodemapper
11  
12  public class Nodemaster
13      implements Nodemapper
14  {
15  
16      public Nodemaster()
17      {
18          size = 0;
19          height = 0x7fffffff;
20      }
21  
22      public Object put(String s, Object obj)
23      {
24          if(size == 0)
25          {
26              key = s.toUpperCase();
27              value = obj;
28              size = 1;
29              return obj;
30          }
31          if(size == 1)
32          {
33              Hidden = new HashMap();
34              Hidden.put(key.toUpperCase(), value);
35              size = 2;
36              return Hidden.put(s.toUpperCase(), obj);
37          } else
38          {
39              return Hidden.put(s.toUpperCase(), obj);
40          }
41      }
42  
43      public void remove(Object obj)
44      {
45          if(size > 2)
46          {
47              Hidden.remove(obj);
48              size--;
49          } else
50          if(size == 2)
51          {
52              value = Hidden.remove(obj);
53              size = 1;
54          } else
55          if(size == 1)
56          {
57              value = null;
58              size = 0;
59          }
60      }
61  
62      public Object get(String s)
63      {
64          if(size == 0)
65              return null;
66          if(size == 1)
67          {
68              if(s.equalsIgnoreCase(key))
69                  return value;
70              else
71                  return null;
72          } else
73          {
74              return Hidden.get(s.toUpperCase());
75          }
76      }
77  
78      public Set keySet()
79      {
80          if(size <= 1)
81          {
82              HashSet hashset = new HashSet();
83              if(key != null)
84                  hashset.add(key);
85              return hashset;
86          } else
87          {
88              return Hidden.keySet();
89          }
90      }
91  
92      public boolean containsKey(String s)
93      {
94          if(size == 0)
95              return false;
96          if(size <= 1)
97              return s.equalsIgnoreCase(key);
98          else
99              return Hidden.containsKey(s.toUpperCase());
100     }
101 
102     public int size()
103     {
104         return size;
105     }
106 
107     public void setParent(Nodemapper nodemapper)
108     {
109         parent = nodemapper;
110     }
111 
112     public Nodemapper getParent()
113     {
114         return parent;
115     }
116 
117     public int getHeight()
118     {
119         return height;
120     }
121 
122     public void setTop()
123     {
124         fillInHeight(0);
125     }
126 
127     private void fillInHeight(int i)
128     {
129         if(height > i)
130             height = i;
131         if(parent != null)
132             ((Nodemaster)parent).fillInHeight(i + 1);
133     }
134 
135     protected int size;
136     protected String key;
137     protected Object value;
138     protected HashMap Hidden;
139     protected int height;
140     protected Nodemapper parent;
141 }