## org.apache.poi.ss.formula.ptg
Class AbstractFunctionPtg

    java.lang.Object
      org.apache.poi.ss.formula.ptg.Ptg
          org.apache.poi.ss.formula.ptg.OperationPtg
              org.apache.poi.ss.formula.ptg.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

Author:
  Avik Sengupta, Andrew C. Oliver (acoliver at apache dot org)

Field Summary
`static java.lang.String` `FUNCTION_NAME_IF` The name of the IF function (i.e.

Fields inherited from class org.apache.poi.ss.formula.ptg.OperationPtg
`TYPE_BINARY, TYPE_FUNCTION, TYPE_UNARY`

Fields inherited from class org.apache.poi.ss.formula.ptg.Ptg
`CLASS_ARRAY, CLASS_REF, CLASS_VALUE, EMPTY_PTG_ARRAY`

Constructor Summary
`protected` `AbstractFunctionPtg(int functionIndex, int pReturnClass, byte[] paramTypes, int nParams)`

Method Summary
`byte` `getDefaultOperandClass()`
`short` `getFunctionIndex()`
`java.lang.String` `getName()`
`int` `getNumberOfOperands()` The number of operands expected by the operations
`byte` `getParameterClass(int index)`
`abstract int` `getSize()`
`boolean` `isBaseToken()`
`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
`boolean` `isExternalFunction()` external functions get some special processing
`protected static short` `lookupIndex(java.lang.String name)` Resolves internal function names into function indexes.
`protected java.lang.String` `lookupName(short index)`
`java.lang.String` `toFormulaString()` return a string representation of this token alone
`java.lang.String` `toFormulaString(java.lang.String[] operands)` returns a string representation of the operations the length of the input array should equal the number returned by
`java.lang.String` `toString()` Overridden toString method to ensure object hash is not printed.

Methods inherited from class org.apache.poi.ss.formula.ptg.Ptg
`createPtg, doesFormulaReferToDeletedCell, getEncodedSize, getEncodedSizeWithoutArrayData, getPtgClass, getRVAType, readTokens, serializePtgs, setClass, write`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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

Constructor Detail

### AbstractFunctionPtg

    protected AbstractFunctionPtg(int functionIndex,
                                  int pReturnClass,
                                  byte[] paramTypes,
                                  int nParams)

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`

### toFormulaString

    public java.lang.String toFormulaString(java.lang.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:
    `OperationPtg.getNumberOfOperands()`

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

### lookupName

    protected final java.lang.String lookupName(short index)

### lookupIndex

    protected static short lookupIndex(java.lang.String name)

  Resolves internal function names into function indexes.

  The name matching is case insensitive.

  Returns:
    the standard worksheet function index if found, otherwise `FUNCTION_INDEX_EXTERNAL`

### getDefaultOperandClass

    public byte getDefaultOperandClass()

  Overrides:
    `getDefaultOperandClass` in class `OperationPtg`

### getParameterClass

    public final byte getParameterClass(int index)

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