Package io.keikai.model.sys.formula
Interface FormulaEngine
- All Known Implementing Classes:
FormulaEngineImpl
public interface FormulaEngine
- Since:
- 3.5.0
- Author:
- dennis
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidclearCache(FormulaClearContext context) voidclearColumnCache(FormulaClearContext context, int start, int end) cloneSheet(String formula, SBook book, String oldName, String newName, FormulaParseContext context) cloneSheetPtgs(FormulaExpression fexpr, SBook book, String oldName, String newName, FormulaParseContext context) evaluate(FormulaExpression expr, FormulaEvaluationContext context) default EvaluationResultevaluateArray(FormulaExpression expr, FormulaEvaluationContext context) Evaluates with ARRAY semantics: when the expression produces a range or array (e.g.voidevaluateOnly(FormulaExpression expr, FormulaEvaluationContext context) Evaluates the expression only, without returning the result.extend(String formula, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) extendPtgs(FormulaExpression fexpr, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) modifyFormulaExpressionfor cells insertionmove(String formula, SheetRegion srcRegion, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula that care on sheet and region.movePtgs(FormulaExpression fexpr, SheetRegion srcRegion, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula that care on sheet and region for cells insertion, deletion, and pasteparse(String formula, FormulaParseContext context) renameColumnNameTablePtgs(FormulaExpression fexpr, STable table, String oldName, String newName, FormulaParseContext context) renameName(String formula, SBook book, int sheetIndex, String oldName, String newName, FormulaParseContext context) renameName(String formula, SBook book, String oldName, String newName, FormulaParseContext context) renameNamePtgs(FormulaExpression fexpr, SBook book, int sheetIndex, String oldName, String newName, FormulaParseContext context) renameSheet(String formula, SBook book, String oldName, String newName, FormulaParseContext context) renameSheetPtgs(FormulaExpression fexpr, SBook book, String oldName, String newName, FormulaParseContext context) renameTableNameTablePtgs(FormulaExpression fexpr, SBook book, String oldName, String newName, FormulaParseContext context) reorderSheetPtgs(FormulaExpression fexpr, SBook book, int oldIndex, int newIndex, FormulaParseContext context) shift(String formula, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula base on the offsetshiftPtgs(FormulaExpression fexpr, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula base on the offsetshrink(String formula, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) shrinkPtgs(FormulaExpression fexpr, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) modifyFormulaExpressionfor cells deletiontranspose(String formula, int rowOrigin, int columnOrigin, FormulaParseContext context) Transpose the formula base one the origintransposePtgs(FormulaExpression fexpr, int rowOrigin, int columnOrigin, FormulaParseContext context) Transpose the formula base one the originvoidupdateDependencyTable(FormulaExpression fexpr, FormulaParseContext context)
-
Field Details
-
KEY_EXTERNAL_BOOK_NAMES
- See Also:
-
KEY_SHEET_INDEXES
- See Also:
-
KEY_FORMULA_CACHE
- See Also:
-
-
Method Details
-
parse
-
shift
FormulaExpression shift(String formula, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula base on the offset- Parameters:
formula-rowOffset-columnOffset-context-- Returns:
-
transpose
FormulaExpression transpose(String formula, int rowOrigin, int columnOrigin, FormulaParseContext context) Transpose the formula base one the origin- Parameters:
formula-rowOrigin-columnOrigin-context-- Returns:
-
move
FormulaExpression move(String formula, SheetRegion srcRegion, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula that care on sheet and region.- Parameters:
formula-srcRegion-rowOffset-columnOffset-context-- Returns:
-
shrink
FormulaExpression shrink(String formula, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) -
extend
FormulaExpression extend(String formula, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) -
renameSheet
FormulaExpression renameSheet(String formula, SBook book, String oldName, String newName, FormulaParseContext context) -
renameName
FormulaExpression renameName(String formula, SBook book, String oldName, String newName, FormulaParseContext context) -
cloneSheet
FormulaExpression cloneSheet(String formula, SBook book, String oldName, String newName, FormulaParseContext context) -
evaluate
-
evaluateArray
Evaluates with ARRAY semantics: when the expression produces a range or array (e.g.=A1:A10,=INDIRECT($B$1),=OFFSET(...), a defined name), the result value is aListof every member value (row-major) instead of the single implicit-intersection scalar. A scalar expression evaluates exactly likeevaluate(io.keikai.model.sys.formula.FormulaExpression, io.keikai.model.sys.formula.FormulaEvaluationContext). Used by list data validation to populate the complete dropdown choice list.The default implementation falls back to
evaluate(io.keikai.model.sys.formula.FormulaExpression, io.keikai.model.sys.formula.FormulaEvaluationContext)(scalar behavior), so customFormulaEngineimplementations keep compiling; engines that can produce the full member list should override.- Since:
- 7.0.0
-
evaluateOnly
Evaluates the expression only, without returning the result.- Parameters:
expr-context-- Since:
- 5.9.0
-
clearCache
-
clearColumnCache
-
shiftPtgs
FormulaExpression shiftPtgs(FormulaExpression fexpr, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula base on the offset- Parameters:
formula-rowOffset-columnOffset-context-- Returns:
- Since:
- 3.6.0
-
transposePtgs
FormulaExpression transposePtgs(FormulaExpression fexpr, int rowOrigin, int columnOrigin, FormulaParseContext context) Transpose the formula base one the origin- Parameters:
formula-rowOrigin-columnOrigin-context-- Returns:
- Since:
- 3.6.0
-
movePtgs
FormulaExpression movePtgs(FormulaExpression fexpr, SheetRegion srcRegion, int rowOffset, int columnOffset, FormulaParseContext context) Shift the formula that care on sheet and region for cells insertion, deletion, and paste- Parameters:
formula-srcRegion-rowOffset-columnOffset-context-- Returns:
- Since:
- 3.6.0
-
shrinkPtgs
FormulaExpression shrinkPtgs(FormulaExpression fexpr, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) modifyFormulaExpressionfor cells deletion- Parameters:
fexpr-srcRegion-hrizontal-context-- Returns:
- Since:
- 3.6.0
-
extendPtgs
FormulaExpression extendPtgs(FormulaExpression fexpr, SheetRegion srcRegion, boolean hrizontal, FormulaParseContext context) modifyFormulaExpressionfor cells insertion- Parameters:
fexpr-srcRegion-hrizontal-context-- Returns:
- Since:
- 3.6.0
-
renameSheetPtgs
FormulaExpression renameSheetPtgs(FormulaExpression fexpr, SBook book, String oldName, String newName, FormulaParseContext context) - Parameters:
fexpr-book-oldName-newName-context-- Returns:
- Since:
- 3.6.0
-
cloneSheetPtgs
FormulaExpression cloneSheetPtgs(FormulaExpression fexpr, SBook book, String oldName, String newName, FormulaParseContext context) - Parameters:
fexpr-book-oldName-newName-context-- Returns:
- Since:
- 5.2.0
-
renameNamePtgs
FormulaExpression renameNamePtgs(FormulaExpression fexpr, SBook book, int sheetIndex, String oldName, String newName, FormulaParseContext context) - Parameters:
fexpr-book-oldName-newName-context-- Returns:
- Since:
- 3.6.0
-
renameName
FormulaExpression renameName(String formula, SBook book, int sheetIndex, String oldName, String newName, FormulaParseContext context) - Parameters:
formula-book-sheetIndex-oldName-newName-context-- Returns:
- Since:
- 3.6.0
-
updateDependencyTable
- Parameters:
fexpr-context-- Since:
- 3.6.0
-
reorderSheetPtgs
FormulaExpression reorderSheetPtgs(FormulaExpression fexpr, SBook book, int oldIndex, int newIndex, FormulaParseContext context) - Parameters:
fexpr-book-oldName-newName-context-- Since:
- 3.7.0
-
renameTableNameTablePtgs
FormulaExpression renameTableNameTablePtgs(FormulaExpression fexpr, SBook book, String oldName, String newName, FormulaParseContext context) - Parameters:
fexpr-oldName-newName-context-- Returns:
- Since:
- 3.8.0
-
renameColumnNameTablePtgs
FormulaExpression renameColumnNameTablePtgs(FormulaExpression fexpr, STable table, String oldName, String newName, FormulaParseContext context) - Parameters:
fexpr-tableName-oldName-newName-context-- Returns:
- Since:
- 3.8.0
-