1 10 package org.mmbase.module; 11 12 import java.util.*; 13 14 import org.mmbase.util.*; 15 import org.mmbase.util.logging.*; 16 17 24 public class CALC extends ProcessorModule { 25 private static Logger log = Logging.getLoggerInstance(CALC.class.getName()); 27 28 33 public Vector getList(scanpage sp,StringTagger tagger, String value) throws ParseException { 34 String line = Strip.DoubleQuote(value,Strip.BOTH); 35 StringTokenizer tok = new StringTokenizer(line,"-\n\r"); 36 if (tok.hasMoreTokens()) { 37 String cmd=tok.nextToken(); 38 } 39 return null; 40 } 41 42 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 57 public String replace(scanpage sp, String cmds) { 58 StringTokenizer tok = new StringTokenizer(cmds,"-\n\r"); 59 if (tok.hasMoreTokens()) { 60 String 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 73 String doCalc(String cmd) { 74 log.debug("Calc module calculates "+cmd); 75 ExprCalc cl=new ExprCalc(cmd); 76 log.debug("Calc converts number Natural number"); 78 return ""+(int)(cl.getResult()+0.5); 79 } 80 81 84 public String getModuleInfo() { 85 return "Support routines simple calc, Daniel Ockeloen"; 86 } 87 } 88 | Popular Tags |