Package org.apache.poi.ddf
Class EscherComplexProperty
java.lang.Object
org.apache.poi.ddf.EscherProperty
org.apache.poi.ddf.EscherComplexProperty
- All Implemented Interfaces:
GenericRecord
- Direct Known Subclasses:
EscherArrayProperty
A complex property differs from a simple property in that the data can not fit inside a 32 bit
integer. See the specification for more detailed information regarding exactly what is
stored here.
-
Constructor Summary
ConstructorsConstructorDescriptionEscherComplexProperty(short propertyNumber, boolean isBlipId, int complexSize) Create a complex property using the property number, a flag to indicate whether this is a blip reference and the complex property data size.EscherComplexProperty(short id, int complexSize) Create a complex property using the property id and a byte array containing the complex data value size.EscherComplexProperty(EscherPropertyTypes type, boolean isBlipId, int complexSize) Create a complex property using the property type, a flag to indicate whether this is a blip reference and the complex property data size. -
Method Summary
Modifier and TypeMethodDescriptionbooleanDetermine whether this property is equal to another property.byte[]Get the complex data value.static intintCalculates the number of bytes required to serialize this property.inthashCode()intserializeComplexPart(byte[] data, int pos) Serializes the complex part of this propertyintserializeSimplePart(byte[] data, int pos) Serializes the simple part of this property.intsetComplexData(byte[] complexData) intsetComplexData(byte[] complexData, int offset) static voidsetMaxRecordLength(int length) Methods inherited from class org.apache.poi.ddf.EscherProperty
getGenericChildren, getGenericRecordType, getId, getName, getPropertyNumber, isBlipId, isComplex, toString, toXml
-
Constructor Details
-
EscherComplexProperty
public EscherComplexProperty(short id, int complexSize) Create a complex property using the property id and a byte array containing the complex data value size.- Parameters:
id- The id consists of the property number, a flag indicating whether this is a blip id and a flag indicating that this is a complex property.complexSize- The byte size of this property.
-
EscherComplexProperty
public EscherComplexProperty(short propertyNumber, boolean isBlipId, int complexSize) Create a complex property using the property number, a flag to indicate whether this is a blip reference and the complex property data size.- Parameters:
propertyNumber- The property numberisBlipId- Whether this is a blip id. Should be false.complexSize- The byte size of this property.
-
EscherComplexProperty
Create a complex property using the property type, a flag to indicate whether this is a blip reference and the complex property data size.- Parameters:
type- The property typeisBlipId- Whether this is a blip id. Should be false.complexSize- The byte size of this property.
-
-
Method Details
-
setMaxRecordLength
public static void setMaxRecordLength(int length) - Parameters:
length- the max record length allowed for EscherComplexProperty
-
getMaxRecordLength
public static int getMaxRecordLength()- Returns:
- the max record length allowed for EscherComplexProperty
-
serializeSimplePart
public int serializeSimplePart(byte[] data, int pos) Serializes the simple part of this property. i.e. the first 6 bytes.- Specified by:
serializeSimplePartin classEscherProperty- Parameters:
data- the buffer to write topos- the starting position- Returns:
- the length of the part
-
serializeComplexPart
public int serializeComplexPart(byte[] data, int pos) Serializes the complex part of this property- Specified by:
serializeComplexPartin classEscherProperty- Parameters:
data- The data array to serialize topos- The offset within data to start serializing to.- Returns:
- The number of bytes serialized.
-
getComplexData
public byte[] getComplexData()Get the complex data value.- Returns:
- the complex bytes
-
setComplexData
public int setComplexData(byte[] complexData) -
setComplexData
public int setComplexData(byte[] complexData, int offset) -
equals
Determine whether this property is equal to another property. -
getPropertySize
public int getPropertySize()Calculates the number of bytes required to serialize this property.- Overrides:
getPropertySizein classEscherProperty- Returns:
- Number of bytes
-
hashCode
public int hashCode() -
getGenericProperties
- Specified by:
getGenericPropertiesin interfaceGenericRecord- Overrides:
getGenericPropertiesin classEscherProperty
-