Class AbstractEscherOptRecord

    • Constructor Detail

      • AbstractEscherOptRecord

        protected AbstractEscherOptRecord()
    • Method Detail

      • addEscherProperty

        public void addEscherProperty​(EscherProperty prop)
        Add a property to this record.
        Parameters:
        prop - the escher property to add
      • fillFields

        public int fillFields​(byte[] data,
                              int offset,
                              EscherRecordFactory recordFactory)
        Description copied from class: EscherRecord
        The contract of this method is to deserialize an escher record including its children.
        Specified by:
        fillFields in class EscherRecord
        Parameters:
        data - The byte array containing the serialized escher records.
        offset - The offset into the byte array.
        recordFactory - A factory for creating new escher records.
        Returns:
        The number of bytes written.
      • getEscherProperties

        public List<EscherProperty> getEscherProperties()
        The list of properties stored by this record.
        Returns:
        the list of properties
      • getEscherProperty

        public EscherProperty getEscherProperty​(int index)
        The list of properties stored by this record.
        Parameters:
        index - the ordinal index of the property
        Returns:
        the escher property
      • getRecordSize

        public int getRecordSize()
        Description copied from class: EscherRecord
        Subclasses should effeciently return the number of bytes required to serialize the record.
        Specified by:
        getRecordSize in class EscherRecord
        Returns:
        number of bytes
      • lookup

        public <T extends EscherProperty> T lookup​(int propId)
      • serialize

        public int serialize​(int offset,
                             byte[] data,
                             EscherSerializationListener listener)
        Description copied from class: EscherRecord
        Serializes the record to an existing byte array.
        Specified by:
        serialize in class EscherRecord
        Parameters:
        offset - the offset within the byte array
        data - the data array to serialize to
        listener - a listener for begin and end serialization events. This is useful because the serialization is hierarchical/recursive and sometimes you need to be able break into that.
        Returns:
        the number of bytes written.
      • sortProperties

        public void sortProperties()
        Records should be sorted by property number before being stored.
      • setEscherProperty

        public void setEscherProperty​(EscherProperty value)
        Set an escher property. If a property with given propId already exists it is replaced.
        Parameters:
        value - the property to set.