Class AbstractFunctionPtg

  • 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'
      • toString

        public final java.lang.String toString()
        Description copied from class: Ptg
        Overridden toString method to ensure object hash is not printed. This helps get rid of gratuitous diffs when comparing two dumps Subclasses may output more relevant information by overriding this method
        Overrides:
        toString in class Ptg
      • 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)