Package org.apache.poi.ss.formula.ptg
Class ArrayPtg
- java.lang.Object
-
- org.apache.poi.ss.formula.ptg.Ptg
-
- org.apache.poi.ss.formula.ptg.ArrayPtg
-
- All Implemented Interfaces:
Serializable
,Duplicatable
,GenericRecord
public final class ArrayPtg extends Ptg
ArrayPtg - handles arrays The ArrayPtg is a little weird, the size of the Ptg when parsing initially only includes the Ptg sid and the reserved bytes. The next Ptg in the expression then follows. It is only after the "size" of all the Ptgs is met, that the ArrayPtg data is actually held after this. So Ptg.createParsedExpression keeps track of the number of ArrayPtg elements and need to parse the data upto the FORMULA record size.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
PLAIN_TOKEN_SIZE
The size of the plain tArray token written within the standard formula tokens (not including the data which comes after all formula tokens)static byte
sid
-
Fields inherited from class org.apache.poi.ss.formula.ptg.Ptg
CLASS_ARRAY, CLASS_REF, CLASS_VALUE, EMPTY_PTG_ARRAY
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ArrayPtg
copy()
int
getColumnCount()
byte
getDefaultOperandClass()
Map<String,Supplier<?>>
getGenericProperties()
int
getRowCount()
byte
getSid()
int
getSize(SpreadsheetVersion version)
This size includes the size of the array Ptg plus the Array Ptg Token value sizeObject[][]
getTokenArrayValues()
boolean
isBaseToken()
String
toFormulaString()
return a string representation of this token aloneString
toFormulaString(Locale locale)
String
toInternalFormulaString()
void
write(LittleEndianOutput out, SpreadsheetVersion version)
int
writeTokenValueBytes(LittleEndianOutput out)
-
Methods inherited from class org.apache.poi.ss.formula.ptg.Ptg
createPtg, createPtg, doesFormulaReferToDeletedCell, getEncodedSize, getEncodedSize, getEncodedSizeWithoutArrayData, getEncodedSizeWithoutArrayData, getPtgClass, getRVAType, readTokens, readTokens, serializePtgs, serializePtgs, setClass, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord
getGenericChildren, getGenericRecordType
-
-
-
-
Field Detail
-
sid
public static final byte sid
- See Also:
- Constant Field Values
-
PLAIN_TOKEN_SIZE
public static final int PLAIN_TOKEN_SIZE
The size of the plain tArray token written within the standard formula tokens (not including the data which comes after all formula tokens)- See Also:
- Constant Field Values
-
-
Method Detail
-
getTokenArrayValues
public Object[][] getTokenArrayValues()
- Returns:
- 2-d array (inner index is rowIx, outer index is colIx)
-
isBaseToken
public boolean isBaseToken()
- Specified by:
isBaseToken
in classPtg
- Returns:
false
if this token is classified as 'reference', 'value', or 'array'
-
write
public void write(LittleEndianOutput out, SpreadsheetVersion version)
-
writeTokenValueBytes
public int writeTokenValueBytes(LittleEndianOutput out)
-
getRowCount
public int getRowCount()
-
getColumnCount
public int getColumnCount()
-
getSize
public int getSize(SpreadsheetVersion version)
This size includes the size of the array Ptg plus the Array Ptg Token value size
-
getSid
public byte getSid()
-
toFormulaString
public String toFormulaString()
Description copied from class:Ptg
return a string representation of this token alone- Specified by:
toFormulaString
in classPtg
-
toInternalFormulaString
public String toInternalFormulaString()
-
getDefaultOperandClass
public byte getDefaultOperandClass()
- Specified by:
getDefaultOperandClass
in classPtg
-
copy
public ArrayPtg copy()
- Specified by:
copy
in interfaceDuplicatable
- Specified by:
copy
in classPtg
- Returns:
- a deep copy of the implementing class / instance
-
-