]> source.dussan.org Git - poi.git/commitdiff
Allow users to get a FormulaParser armed only with a HSSFWorkbook, through a convenie...
authorNick Burch <nick@apache.org>
Mon, 15 Oct 2007 10:34:40 +0000 (10:34 +0000)
committerNick Burch <nick@apache.org>
Mon, 15 Oct 2007 10:34:40 +0000 (10:34 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@584721 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/model/FormulaParser.java
src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java

index af3382f155c838e74064807de5b3e0bf75674610..013294556583e1e911ea75ba2e9cb393d60b2683 100644 (file)
@@ -74,10 +74,17 @@ public class FormulaParser {
    private Workbook book;
     
     
-    /** create the parser with the string that is to be parsed
-     *    later call the parse() method to return ptg list in rpn order
-     *    then call the getRPNPtg() to retrive the parse results
-     *  This class is recommended only for single threaded use
+    /** 
+     * Create the formula parser, with the string that is to be
+     *  parsed against the supplied workbook.
+     * A later call the parse() method to return ptg list in
+     *  rpn order, then call the getRPNPtg() to retrive the
+     *  parse results.
+     * This class is recommended only for single threaded use.
+     * 
+     * If you only have a usermodel.HSSFWorkbook, and not a
+     *  model.Workbook, then use the convenience method on
+     *  usermodel.HSSFFormulaEvaluator 
      */
     public FormulaParser(String formula, Workbook book){
         formulaString = formula;
index 691dc1e4d05d3a028a6adec7f9ca5fe51772a78f..d56303d42a386893dfe6119e3fa68f169f49f747 100644 (file)
@@ -1019,7 +1019,7 @@ public class HSSFWorkbook extends POIDocument
         return workbook.getSSTString(index).getString();
     }
 
-    Workbook getWorkbook()
+    protected Workbook getWorkbook()
     {
         return workbook;
     }
index 1b4118a6480789e2f069eaf058ad8e20f29614f9..2a9fc6c64bdfbc1ec2d8d3c2cec6b79ef1b89e3a 100644 (file)
@@ -165,6 +165,17 @@ public class HSSFFormulaEvaluator {
     }
 
     
+    /**
+     * Returns an underlying FormulaParser, for the specified
+     *  Formula String and HSSFWorkbook.
+     * This will allow you to generate the Ptgs yourself, if
+     *  your needs are more complex than just having the
+     *  formula evaluated. 
+     */
+    public static FormulaParser getUnderlyingParser(HSSFWorkbook workbook, String formula) {
+       return new FormulaParser(formula, workbook.getWorkbook());
+    }
+    
     /**
      * If cell contains a formula, the formula is evaluated and returned,
      * else the CellValue simply copies the appropriate cell value from