Class AbstractFunctionPtg

All Implemented Interfaces:
org.apache.poi.common.Duplicatable, GenericRecord
Direct Known Subclasses:
FuncPtg, FuncVarPtg

public abstract class AbstractFunctionPtg extends OperationPtg
This class provides the base functionality for Excel sheet functions There are two kinds of function Ptgs - tFunc and tFuncVar Therefore, this class will have ONLY two subclasses
  • Field Details

    • FUNCTION_NAME_IF

      public static final String FUNCTION_NAME_IF
      The name of the IF function (i.e. "IF"). Extracted as a constant for clarity.
      See Also:
  • Method Details

    • isBaseToken

      public final boolean isBaseToken()
      Specified by:
      isBaseToken in class Ptg
      Returns:
      false if this token is classified as 'reference', 'value', or 'array'
    • getFunctionIndex

      public final short getFunctionIndex()
    • getNumberOfOperands

      public final int getNumberOfOperands()
      Description copied from class: OperationPtg
      The number of operands expected by the operations
      Specified by:
      getNumberOfOperands in class OperationPtg
    • getName

      public final String getName()
    • isExternalFunction

      public final boolean isExternalFunction()
      external functions get some special processing
      Returns:
      true if this is an external function
    • toFormulaString

      public final String toFormulaString()
      Description copied from class: Ptg
      return a string representation of this token alone
      Specified by:
      toFormulaString in class Ptg
    • toFormulaString

      public String toFormulaString(String[] operands)
      Description copied from class: OperationPtg
      returns a string representation of the operations the length of the input array should equal the number returned by
      Specified by:
      toFormulaString in class OperationPtg
      See Also:
    • getSize

      public abstract int getSize()
      Specified by:
      getSize in class Ptg
      Returns:
      the encoded length of this Ptg, including the initial Ptg type identifier byte.
    • isBuiltInFunctionName

      public static boolean isBuiltInFunctionName(String name)
      Used to detect whether a function name found in a formula is one of the standard excel functions

      The name matching is case insensitive.

      Returns:
      true if the name specifies a standard worksheet function, false if the name should be assumed to be an external function.
    • getDefaultOperandClass

      public byte getDefaultOperandClass()
      Overrides:
      getDefaultOperandClass in class OperationPtg
    • getParameterClass

      public final byte getParameterClass(int index)
    • getGenericProperties

      public Map<String,Supplier<?>> getGenericProperties()
      Specified by:
      getGenericProperties in interface GenericRecord
      Overrides:
      getGenericProperties in class OperationPtg