Package org.apache.poi.ss.formula
Class OperationEvaluationContext
- java.lang.Object
-
- org.apache.poi.ss.formula.OperationEvaluationContext
-
public final class OperationEvaluationContext extends java.lang.Object
Contains all the contextual information required to evaluate an operation within a formulaFor POI internal use only
-
-
Field Summary
Fields Modifier and Type Field Description static FreeRefFunction
UDF
-
Constructor Summary
Constructors Constructor Description OperationEvaluationContext(WorkbookEvaluator bookEvaluator, EvaluationWorkbook workbook, int sheetIndex, int srcRowNum, int srcColNum, org.apache.poi.ss.formula.EvaluationTracker tracker)
OperationEvaluationContext(WorkbookEvaluator bookEvaluator, EvaluationWorkbook workbook, int sheetIndex, int srcRowNum, int srcColNum, org.apache.poi.ss.formula.EvaluationTracker tracker, boolean isSingleValue)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CellReference
applyR1C1Reference(CellReference anchorReference, java.lang.String relativeReference)
FreeRefFunction
findUserDefinedFunction(java.lang.String functionName)
ValueEval
getArea3DEval(Area3DPtg aptg)
ValueEval
getArea3DEval(Area3DPxg aptg)
ValueEval
getAreaEval(int firstRowIndex, int firstColumnIndex, int lastRowIndex, int lastColumnIndex)
ValueEval
getAreaValueEval(int firstRowIndex, int firstColumnIndex, int lastRowIndex, int lastColumnIndex, java.lang.Object[][] tokens)
int
getColumnIndex()
ValueEval
getDynamicReference(java.lang.String workbookName, java.lang.String sheetName, java.lang.String refStrPart1, java.lang.String refStrPart2, boolean isA1Style)
Resolves a cell or area reference dynamically.ValueEval
getNameXEval(NameXPtg nameXPtg)
ValueEval
getNameXEval(NameXPxg nameXPxg)
ValueEval
getRef3DEval(Ref3DPtg rptg)
ValueEval
getRef3DEval(Ref3DPxg rptg)
ValueEval
getRefEval(int rowIndex, int columnIndex)
org.apache.poi.ss.formula.SheetRangeEvaluator
getRefEvaluatorForCurrentSheet()
int
getRowIndex()
int
getSheetIndex()
EvaluationWorkbook
getWorkbook()
boolean
isArraymode()
boolean
isSingleValue()
default truevoid
setArrayMode(boolean value)
-
-
-
Field Detail
-
UDF
public static final FreeRefFunction UDF
-
-
Constructor Detail
-
OperationEvaluationContext
public OperationEvaluationContext(WorkbookEvaluator bookEvaluator, EvaluationWorkbook workbook, int sheetIndex, int srcRowNum, int srcColNum, org.apache.poi.ss.formula.EvaluationTracker tracker)
-
OperationEvaluationContext
public OperationEvaluationContext(WorkbookEvaluator bookEvaluator, EvaluationWorkbook workbook, int sheetIndex, int srcRowNum, int srcColNum, org.apache.poi.ss.formula.EvaluationTracker tracker, boolean isSingleValue)
-
-
Method Detail
-
isArraymode
public boolean isArraymode()
-
setArrayMode
public void setArrayMode(boolean value)
-
getWorkbook
public EvaluationWorkbook getWorkbook()
-
getRowIndex
public int getRowIndex()
-
getColumnIndex
public int getColumnIndex()
-
getRefEvaluatorForCurrentSheet
public org.apache.poi.ss.formula.SheetRangeEvaluator getRefEvaluatorForCurrentSheet()
-
getDynamicReference
public ValueEval getDynamicReference(java.lang.String workbookName, java.lang.String sheetName, java.lang.String refStrPart1, java.lang.String refStrPart2, boolean isA1Style)
Resolves a cell or area reference dynamically.- Parameters:
workbookName
- the name of the workbook containing the reference. Ifnull
the current workbook is assumed. Note - to evaluate formulas which use multiple workbooks, aCollaboratingWorkbooksEnvironment
must be set up.sheetName
- the name of the sheet containing the reference. May benull
(whenworkbookName
is also null) in which case the current workbook and sheet is assumed.refStrPart1
- the single cell reference or first part of the area reference. Must not benull
.refStrPart2
- the second part of the area reference. For single cell references this parameter must benull
isA1Style
- specifies the format forrefStrPart1
andrefStrPart2
. Passtrue
for 'A1' style andfalse
for 'R1C1' style.- Returns:
- a
RefEval
orAreaEval
- Throws:
java.lang.RuntimeException
- If invalid parameters are provided
-
findUserDefinedFunction
public FreeRefFunction findUserDefinedFunction(java.lang.String functionName)
-
getRefEval
public ValueEval getRefEval(int rowIndex, int columnIndex)
-
getAreaEval
public ValueEval getAreaEval(int firstRowIndex, int firstColumnIndex, int lastRowIndex, int lastColumnIndex)
-
getAreaValueEval
public ValueEval getAreaValueEval(int firstRowIndex, int firstColumnIndex, int lastRowIndex, int lastColumnIndex, java.lang.Object[][] tokens)
-
getSheetIndex
public int getSheetIndex()
-
isSingleValue
public boolean isSingleValue()
default true- Returns:
- flag indicating whether evaluation should "unwrap" the result to a single value based on the context row/column
-
applyR1C1Reference
public static CellReference applyR1C1Reference(CellReference anchorReference, java.lang.String relativeReference)
-
-