Class FormulaEngineEx

  • All Implemented Interfaces:
    io.keikai.model.sys.formula.FormulaEngine, java.io.Serializable

    public class FormulaEngineEx
    extends io.keikai.model.impl.sys.formula.FormulaEngineImpl
    implements io.keikai.model.sys.formula.FormulaEngine
    A implementation of Formula Engine with XEL context. Let formula engine support user defined function, EL variable evaluation ant so on.
    Author:
    Pao
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.keikai.model.impl.sys.formula.FormulaEngineImpl

        io.keikai.model.impl.sys.formula.FormulaEngineImpl.ErrorFormulaExpressionImpl, io.keikai.model.impl.sys.formula.FormulaEngineImpl.EvalContext, io.keikai.model.impl.sys.formula.FormulaEngineImpl.EvaluationResultImpl, io.keikai.model.impl.sys.formula.FormulaEngineImpl.FormulaAdjuster, io.keikai.model.impl.sys.formula.FormulaEngineImpl.FormulaExpressionImpl
    • Field Summary

      • Fields inherited from class io.keikai.model.impl.sys.formula.FormulaEngineImpl

        KEY_EVALUATORS, noCacheClassifier
      • Fields inherited from interface io.keikai.model.sys.formula.FormulaEngine

        KEY_EXTERNAL_BOOK_NAMES, KEY_FORMULA_CACHE, KEY_SHEET_INDEXES
    • Constructor Summary

      Constructors 
      Constructor Description
      FormulaEngineEx()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      io.keikai.model.sys.formula.FormulaExpression extendPtgs​(io.keikai.model.sys.formula.FormulaExpression fe, io.keikai.model.SheetRegion srcRegion, boolean horizontal, io.keikai.model.sys.formula.FormulaParseContext context)  
      protected io.keikai.model.impl.sys.formula.FormulaEngineImpl.FormulaAdjuster getRenameColumnAdjuster​(java.lang.String tableName, java.lang.String oldName, java.lang.String newName)  
      protected io.keikai.model.impl.sys.formula.FormulaEngineImpl.FormulaAdjuster getRenameTableAdjuster​(java.lang.String oldName, java.lang.String newName)  
      protected java.lang.Object getXelContext()  
      io.keikai.model.sys.formula.FormulaExpression movePtgs​(io.keikai.model.sys.formula.FormulaExpression fe, io.keikai.model.SheetRegion region, int rowOffset, int columnOffset, io.keikai.model.sys.formula.FormulaParseContext context)  
      org.apache.poi.ss.formula.ptg.Ptg[] parse​(java.lang.String formula, org.apache.poi.ss.formula.FormulaParsingWorkbook book, int sheetIndex, io.keikai.model.sys.formula.FormulaParseContext context)  
      io.keikai.model.sys.formula.FormulaExpression renameColumnNameTablePtgs​(io.keikai.model.sys.formula.FormulaExpression fe, io.keikai.model.STable table, java.lang.String oldName, java.lang.String newName, io.keikai.model.sys.formula.FormulaParseContext context)  
      io.keikai.model.sys.formula.FormulaExpression renameNamePtgs​(io.keikai.model.sys.formula.FormulaExpression fe, io.keikai.model.SBook targetBook, int sheetIndex, java.lang.String oldName, java.lang.String newName, io.keikai.model.sys.formula.FormulaParseContext context)  
      io.keikai.model.sys.formula.FormulaExpression renameSheetPtgs​(io.keikai.model.sys.formula.FormulaExpression fe, io.keikai.model.SBook targetBook, java.lang.String oldSheetName, java.lang.String newSheetName, io.keikai.model.sys.formula.FormulaParseContext context)  
      io.keikai.model.sys.formula.FormulaExpression renameTableNameTablePtgs​(io.keikai.model.sys.formula.FormulaExpression fe, io.keikai.model.SBook book, java.lang.String oldName, java.lang.String newName, io.keikai.model.sys.formula.FormulaParseContext context)  
      protected java.lang.String renderFormula​(io.keikai.model.impl.sys.formula.ParsingBook parsingBook, java.lang.String formula, org.apache.poi.ss.formula.ptg.Ptg[] tokens, boolean always)  
      protected void setXelContext​(java.lang.Object ctx)  
      io.keikai.model.sys.formula.FormulaExpression shiftPtgs​(io.keikai.model.sys.formula.FormulaExpression fe, int rowOffset, int columnOffset, io.keikai.model.sys.formula.FormulaParseContext context)  
      io.keikai.model.sys.formula.FormulaExpression shrinkPtgs​(io.keikai.model.sys.formula.FormulaExpression fe, io.keikai.model.SheetRegion srcRegion, boolean horizontal, io.keikai.model.sys.formula.FormulaParseContext context)  
      io.keikai.model.sys.formula.FormulaExpression transposePtgs​(io.keikai.model.sys.formula.FormulaExpression fe, int rowOrigin, int columnOrigin, io.keikai.model.sys.formula.FormulaParseContext context)  
      • Methods inherited from class io.keikai.model.impl.sys.formula.FormulaEngineImpl

        clearCache, clearColumnCache, clearIterationValue, cloneSheet, cloneSheetPtgs, convertToEvaluationResult, convertToPOIFormulaType, evaluate, evaluateFormula, evaluateOnly, extend, getCloneSheetAdjuster, getMoveAdjuster, getRenameNameAdjuster, getRenameSheetAdjuster, getReorderSheetAdjuster, getResolvedValue, getShiftAdjuster, getTransposeAdjuster, move, parse, renameName, renameName, renameSheet, reorderSheetPtgs, shift, shouldNormalize, shrink, toDependRef, transpose, updateDependencyTable
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.keikai.model.sys.formula.FormulaEngine

        clearCache, clearColumnCache, cloneSheet, cloneSheetPtgs, evaluate, evaluateOnly, extend, move, parse, renameName, renameName, renameSheet, reorderSheetPtgs, shift, shrink, transpose, updateDependencyTable
    • Constructor Detail

      • FormulaEngineEx

        public FormulaEngineEx()
    • Method Detail

      • getXelContext

        protected java.lang.Object getXelContext()
        Overrides:
        getXelContext in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • setXelContext

        protected void setXelContext​(java.lang.Object ctx)
        Overrides:
        setXelContext in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • renderFormula

        protected java.lang.String renderFormula​(io.keikai.model.impl.sys.formula.ParsingBook parsingBook,
                                                 java.lang.String formula,
                                                 org.apache.poi.ss.formula.ptg.Ptg[] tokens,
                                                 boolean always)
        Overrides:
        renderFormula in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • parse

        public org.apache.poi.ss.formula.ptg.Ptg[] parse​(java.lang.String formula,
                                                         org.apache.poi.ss.formula.FormulaParsingWorkbook book,
                                                         int sheetIndex,
                                                         io.keikai.model.sys.formula.FormulaParseContext context)
        Overrides:
        parse in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • movePtgs

        public io.keikai.model.sys.formula.FormulaExpression movePtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                      io.keikai.model.SheetRegion region,
                                                                      int rowOffset,
                                                                      int columnOffset,
                                                                      io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        movePtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        movePtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • shrinkPtgs

        public io.keikai.model.sys.formula.FormulaExpression shrinkPtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                        io.keikai.model.SheetRegion srcRegion,
                                                                        boolean horizontal,
                                                                        io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        shrinkPtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        shrinkPtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • extendPtgs

        public io.keikai.model.sys.formula.FormulaExpression extendPtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                        io.keikai.model.SheetRegion srcRegion,
                                                                        boolean horizontal,
                                                                        io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        extendPtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        extendPtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • shiftPtgs

        public io.keikai.model.sys.formula.FormulaExpression shiftPtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                       int rowOffset,
                                                                       int columnOffset,
                                                                       io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        shiftPtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        shiftPtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • transposePtgs

        public io.keikai.model.sys.formula.FormulaExpression transposePtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                           int rowOrigin,
                                                                           int columnOrigin,
                                                                           io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        transposePtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        transposePtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • renameSheetPtgs

        public io.keikai.model.sys.formula.FormulaExpression renameSheetPtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                             io.keikai.model.SBook targetBook,
                                                                             java.lang.String oldSheetName,
                                                                             java.lang.String newSheetName,
                                                                             io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        renameSheetPtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        renameSheetPtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • renameNamePtgs

        public io.keikai.model.sys.formula.FormulaExpression renameNamePtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                            io.keikai.model.SBook targetBook,
                                                                            int sheetIndex,
                                                                            java.lang.String oldName,
                                                                            java.lang.String newName,
                                                                            io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        renameNamePtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        renameNamePtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • renameTableNameTablePtgs

        public io.keikai.model.sys.formula.FormulaExpression renameTableNameTablePtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                                      io.keikai.model.SBook book,
                                                                                      java.lang.String oldName,
                                                                                      java.lang.String newName,
                                                                                      io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        renameTableNameTablePtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        renameTableNameTablePtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • getRenameTableAdjuster

        protected io.keikai.model.impl.sys.formula.FormulaEngineImpl.FormulaAdjuster getRenameTableAdjuster​(java.lang.String oldName,
                                                                                                            java.lang.String newName)
      • renameColumnNameTablePtgs

        public io.keikai.model.sys.formula.FormulaExpression renameColumnNameTablePtgs​(io.keikai.model.sys.formula.FormulaExpression fe,
                                                                                       io.keikai.model.STable table,
                                                                                       java.lang.String oldName,
                                                                                       java.lang.String newName,
                                                                                       io.keikai.model.sys.formula.FormulaParseContext context)
        Specified by:
        renameColumnNameTablePtgs in interface io.keikai.model.sys.formula.FormulaEngine
        Overrides:
        renameColumnNameTablePtgs in class io.keikai.model.impl.sys.formula.FormulaEngineImpl
      • getRenameColumnAdjuster

        protected io.keikai.model.impl.sys.formula.FormulaEngineImpl.FormulaAdjuster getRenameColumnAdjuster​(java.lang.String tableName,
                                                                                                             java.lang.String oldName,
                                                                                                             java.lang.String newName)