Class 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 Summary

      Constructors 
      Constructor Description
      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.
      EscherComplexProperty​(short id, byte[] complexData)
      Create a complex property using the property id and a byte array containing the complex data value.
    • Constructor Detail

      • 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 Detail

      • 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
      • equals

        public boolean equals​(java.lang.Object o)
        Determine whether this property is equal to another property.
        Overrides:
        equals in class java.lang.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 java.lang.Object
      • toString

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

        public java.lang.String toXml​(java.lang.String tab)
        Overrides:
        toXml in class EscherProperty