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 formula For POI internal use only

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static FreeRefFunction` | `UDF`

  - ### Constructor Summary

    Constructors
    Constructor and 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 Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 true
    `void` | `setArrayMode(boolean value)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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. If `null` the current workbook is assumed. Note - to evaluate formulas which use multiple workbooks, a `CollaboratingWorkbooksEnvironment` must be set up.
        `sheetName` - the name of the sheet containing the reference. May be `null` (when `workbookName` 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 be `null`.
        `refStrPart2` - the second part of the area reference. For single cell references this parameter must be `null`
        `isA1Style` - specifies the format for `refStrPart1` and `refStrPart2`. Pass `true` for 'A1' style and `false` for 'R1C1' style. TODO - currently POI only supports 'A1' reference style
      Returns:
        a `RefEval` or `AreaEval`

    - #### findUserDefinedFunction

          public FreeRefFunction findUserDefinedFunction(java.lang.String functionName)

    - #### getRefEval

          public ValueEval getRefEval(int rowIndex,
                                      int columnIndex)

    - #### getRef3DEval

          public ValueEval getRef3DEval(Ref3DPtg rptg)

    - #### getRef3DEval

          public ValueEval getRef3DEval(Ref3DPxg rptg)

    - #### getAreaEval

          public ValueEval getAreaEval(int firstRowIndex,
                                       int firstColumnIndex,
                                       int lastRowIndex,
                                       int lastColumnIndex)

    - #### getArea3DEval

          public ValueEval getArea3DEval(Area3DPtg aptg)

    - #### getArea3DEval

          public ValueEval getArea3DEval(Area3DPxg aptg)

    - #### getAreaValueEval

          public ValueEval getAreaValueEval(int firstRowIndex,
                                            int firstColumnIndex,
                                            int lastRowIndex,
                                            int lastColumnIndex,
                                            java.lang.Object[][] tokens)

    - #### getNameXEval

          public ValueEval getNameXEval(NameXPtg nameXPtg)

    - #### getNameXEval

          public ValueEval getNameXEval(NameXPxg nameXPxg)

    - #### 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

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.