Class EscherComplexProperty

java.lang.Object
org.apache.poi.ddf.EscherProperty
org.apache.poi.ddf.EscherComplexProperty
Direct Known Subclasses:
EscherArrayProperty

public class EscherComplexProperty extends EscherProperty
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 Details

    • EscherComplexProperty

      public EscherComplexProperty(short id, byte[] complexData)
      Create a complex property using the property id and a byte array containing the complex data value.
      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.
      complexData - The value of this property.
    • EscherComplexProperty

      public EscherComplexProperty(short propertyNumber, boolean isBlipId, byte[] complexData)
      Create a complex property using the property number, a flag to indicate whether this is a blip reference and the complex property data.
      Parameters:
      propertyNumber - The property number
      isBlipId - Whether this is a blip id. Should be false.
      complexData - The value of this complex property.
  • Method Details

    • serializeSimplePart

      public int serializeSimplePart(byte[] data, int pos)
      Serializes the simple part of this property. i.e. the first 6 bytes.
      Specified by:
      serializeSimplePart in class EscherProperty
      Parameters:
      data - the buffer to write to
      pos - 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:
      serializeComplexPart in class EscherProperty
      Parameters:
      data - The data array to serialize to
      pos - 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

      protected void setComplexData(byte[] _complexData)
    • equals

      public boolean equals(Object o)
      Determine whether this property is equal to another property.
      Overrides:
      equals in class Object
      Parameters:
      o - The object to compare to.
      Returns:
      True if the objects are equal.
    • getPropertySize

      public int getPropertySize()
      Calculates the number of bytes required to serialize this property.
      Overrides:
      getPropertySize in class EscherProperty
      Returns:
      Number of bytes
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Retrieves the string representation for this property.
      Specified by:
      toString in class EscherProperty
    • toXml

      public String toXml(String tab)
      Overrides:
      toXml in class EscherProperty