KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > module > CALC


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.module;
11
12 import java.util.*;
13
14 import org.mmbase.util.*;
15 import org.mmbase.util.logging.*;
16
17 /**
18  * @application SCAN
19  * @javadoc
20  * @rename Calc.java
21  * @author Daniel Ockeloen
22  * @version $Id: CALC.java,v 1.10 2005/02/09 09:48:48 michiel Exp $
23  */

24 public class CALC extends ProcessorModule {
25     // logging
26
private static Logger log = Logging.getLoggerInstance(CALC.class.getName());
27
28     /**
29      * Generate a list of values from a command to the processor
30      * @javadoc
31      * @deprecated-now doesn't add any functionality
32      */

33      public Vector getList(scanpage sp,StringTagger tagger, String JavaDoc value) throws ParseException {
34         String JavaDoc line = Strip.DoubleQuote(value,Strip.BOTH);
35         StringTokenizer tok = new StringTokenizer(line,"-\n\r");
36         if (tok.hasMoreTokens()) {
37             String JavaDoc cmd=tok.nextToken();
38         }
39         return null;
40     }
41
42     /**
43      * Execute the commands provided in the form values
44      * @javadoc
45      * @deprecated-now doesn't add any functionality
46      */

47     public boolean process(scanpage sp, Hashtable cmds,Hashtable vars) {
48         log.debug("CMDS="+cmds);
49         log.debug("VARS="+vars);
50         return false;
51     }
52
53     /**
54      * Handle a $MOD command
55      * @javadoc
56      */

57     public String JavaDoc replace(scanpage sp, String JavaDoc cmds) {
58         StringTokenizer tok = new StringTokenizer(cmds,"-\n\r");
59         if (tok.hasMoreTokens()) {
60             String JavaDoc cmd=tok.nextToken();
61             while (tok.hasMoreTokens()) {
62                 cmd+="-"+tok.nextToken();
63             }
64             return doCalc(cmd);
65         }
66         log.warn("Calc replace was involed with no decent command");
67         return "No command defined";
68     }
69
70     /**
71      * @javadoc
72      */

73     String JavaDoc doCalc(String JavaDoc cmd) {
74         log.debug("Calc module calculates "+cmd);
75         ExprCalc cl=new ExprCalc(cmd);
76         // marcel: annoying, upgraded this log to debug
77
log.debug("Calc converts number Natural number");
78         return ""+(int)(cl.getResult()+0.5);
79     }
80
81     /**
82      * @javadoc
83      */

84     public String JavaDoc getModuleInfo() {
85         return "Support routines simple calc, Daniel Ockeloen";
86     }
87 }
88
Popular Tags