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 Detail

      • FUNCTION_NAME_IF

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

      • 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 java.lang.String getName()
      • isExternalFunction

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

        public final java.lang.String toFormulaString()
        Description copied from class: Ptg
        return a string representation of this token alone
        Specified by:
        toFormulaString in class Ptg
      • 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​(java.lang.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.
      • getParameterClass

        public final byte getParameterClass​(int index)