KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > rero > client > functions > TokenOperators


1 package rero.client.functions;
2
3 import sleep.engine.*;
4 import sleep.runtime.*;
5 import sleep.interfaces.*;
6 import sleep.bridges.BridgeUtilities;
7
8 import rero.util.*;
9 import rero.client.*;
10 import rero.config.*;
11 import java.util.*;
12 import java.text.*;
13
14 public class TokenOperators extends Feature implements Loadable
15 {
16    public void init()
17    {
18       getCapabilities().getScriptCore().addBridge(this);
19    }
20
21    public boolean scriptLoaded(ScriptInstance script)
22    {
23       script.getScriptEnvironment().getEnvironment().put("&tokenize", new tokenize());
24       script.getScriptEnvironment().getEnvironment().put("&getToken", new getToken());
25       script.getScriptEnvironment().getEnvironment().put("&getTokenFrom", new getTokenFrom());
26       script.getScriptEnvironment().getEnvironment().put("&getTokenTo", new getTokenTo());
27       script.getScriptEnvironment().getEnvironment().put("&getTokenRange", new getTokenRange());
28
29       script.getScriptEnvironment().getEnvironment().put("&getAllTokens", new getAllTokens());
30
31       script.getScriptEnvironment().getEnvironment().put("&getTotalTokens", new getTotalTokens());
32       script.getScriptEnvironment().getEnvironment().put("&findToken", new findToken());
33
34       script.getScriptEnvironment().getEnvironment().put("istoken", new isToken());
35
36       return true;
37    }
38
39    public boolean scriptUnloaded(ScriptInstance script)
40    {
41       return true;
42    }
43
44    private static TokenizedString extractTokens(Stack locals)
45    {
46       return (TokenizedString)BridgeUtilities.getObject(locals);
47    }
48
49    private static class tokenize implements Function
50    {
51       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
52       {
53          String JavaDoc text = BridgeUtilities.getString(locals, "");
54          String JavaDoc delim = BridgeUtilities.getString(locals, " ");
55
56          return SleepUtils.getScalar(new TokenizedString(text, delim));
57       }
58    }
59
60    private static class getToken implements Function
61    {
62       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
63       {
64          TokenizedString temp = extractTokens(locals);
65          int x = BridgeUtilities.getInt(locals, 0);
66
67          return SleepUtils.getScalar(temp.getToken(x));
68       }
69    }
70
71    private static class getTokenFrom implements Function
72    {
73       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
74       {
75          TokenizedString temp = extractTokens(locals);
76          int x = BridgeUtilities.getInt(locals, 0);
77
78          return SleepUtils.getScalar(temp.getTokenFrom(x));
79       }
80    }
81
82    private static class getTokenTo implements Function
83    {
84       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
85       {
86          TokenizedString temp = extractTokens(locals);
87          int x = BridgeUtilities.getInt(locals, 0);
88
89          return SleepUtils.getScalar(temp.getTokenTo(x));
90       }
91    }
92
93    private static class getTokenRange implements Function
94    {
95       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
96       {
97          TokenizedString temp = extractTokens(locals);
98          int x = BridgeUtilities.getInt(locals, 0);
99          int y = BridgeUtilities.getInt(locals, 0);
100
101          return SleepUtils.getScalar(temp.getTokenRange(x, y));
102       }
103    }
104
105    private static class getTotalTokens implements Function
106    {
107       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
108       {
109          TokenizedString temp = extractTokens(locals);
110          return SleepUtils.getScalar(temp.getTotalTokens());
111       }
112    }
113
114    private static class findToken implements Function
115    {
116       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
117       {
118          TokenizedString temp = extractTokens(locals);
119          String JavaDoc findme = BridgeUtilities.getString(locals, "");
120
121          return SleepUtils.getScalar(temp.findToken(findme));
122       }
123    }
124
125    private static class getAllTokens implements Function
126    {
127       public Scalar evaluate(String JavaDoc f, ScriptInstance si, Stack locals)
128       {
129          TokenizedString temp = extractTokens(locals);
130          Scalar rv = SleepUtils.getArrayScalar();
131  
132          for (int x = 0; x < temp.getTotalTokens(); x++)
133          {
134             rv.getArray().push(SleepUtils.getScalar(temp.getToken(x)));
135          }
136
137          return rv;
138       }
139    }
140
141    private static class isToken implements Predicate
142    {
143       public boolean decide(String JavaDoc f, ScriptInstance si, Stack locals)
144       {
145          TokenizedString right = extractTokens(locals);
146          String JavaDoc left = BridgeUtilities.getString(locals, "");
147
148          return right.isToken(left);
149       }
150    }
151 }
152
Popular Tags