org.apache.poi.ddf

## Class EscherSpRecord

- java.lang.Object
- - org.apache.poi.ddf.EscherRecord
  - - org.apache.poi.ddf.EscherSpRecord

- All Implemented Interfaces:
    Duplicatable, GenericRecord

      public class EscherSpRecord
      extends EscherRecord

  Together the the EscherOptRecord this record defines some of the basic properties of a shape.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `FLAG_BACKGROUND`
    `static int` | `FLAG_CHILD`
    `static int` | `FLAG_CONNECTOR`
    `static int` | `FLAG_DELETED`
    `static int` | `FLAG_FLIPHORIZ`
    `static int` | `FLAG_FLIPVERT`
    `static int` | `FLAG_GROUP`
    `static int` | `FLAG_HASSHAPETYPE`
    `static int` | `FLAG_HAVEANCHOR`
    `static int` | `FLAG_HAVEMASTER`
    `static int` | `FLAG_OLESHAPE`
    `static int` | `FLAG_PATRIARCH`
    `static short` | `RECORD_ID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EscherSpRecord()`
    `EscherSpRecord(EscherSpRecord other)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `EscherSpRecord` | `copy()`
    `int` | `fillFields(byte[] data, int offset, EscherRecordFactory recordFactory)` The contract of this method is to deserialize an escher record including it's children.
    `int` | `getFlags()` The flags that apply to this shape.
    `java.util.Map<java.lang.String,java.util.function.Supplier<?>>` | `getGenericProperties()`
    `java.lang.Enum` | `getGenericRecordType()`
    `short` | `getRecordId()` Return the current record id.
    `java.lang.String` | `getRecordName()` Subclasses should return the short name for this escher record.
    `int` | `getRecordSize()` Subclasses should effeciently return the number of bytes required to serialize the record.
    `int` | `getShapeId()`
    `short` | `getShapeType()` Returns shape type.
    `int` | `serialize(int offset, byte[] data, EscherSerializationListener listener)` This method serializes this escher record into a byte array.
    `void` | `setFlags(int field_2_flags)` The flags that apply to this shape.
    `void` | `setShapeId(int field_1_shapeId)` Sets a number that identifies this shape.
    `void` | `setShapeType(short value)` Sets shape type.

    - ### Methods inherited from class org.apache.poi.ddf.EscherRecord

      `clone, display, fillFields, getChild, getChildRecords, getGenericChildren, getInstance, getOptions, getVersion, isContainerRecord, readHeader, readInstance, serialize, serialize, setChildRecords, setInstance, setOptions, setRecordId, setVersion, toString, toXml, toXml`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### RECORD_ID

          public static final short RECORD_ID

    - #### FLAG_GROUP

          public static final int FLAG_GROUP

      See Also:
        Constant Field Values

    - #### FLAG_CHILD

          public static final int FLAG_CHILD

      See Also:
        Constant Field Values

    - #### FLAG_PATRIARCH

          public static final int FLAG_PATRIARCH

      See Also:
        Constant Field Values

    - #### FLAG_DELETED

          public static final int FLAG_DELETED

      See Also:
        Constant Field Values

    - #### FLAG_OLESHAPE

          public static final int FLAG_OLESHAPE

      See Also:
        Constant Field Values

    - #### FLAG_HAVEMASTER

          public static final int FLAG_HAVEMASTER

      See Also:
        Constant Field Values

    - #### FLAG_FLIPHORIZ

          public static final int FLAG_FLIPHORIZ

      See Also:
        Constant Field Values

    - #### FLAG_FLIPVERT

          public static final int FLAG_FLIPVERT

      See Also:
        Constant Field Values

    - #### FLAG_CONNECTOR

          public static final int FLAG_CONNECTOR

      See Also:
        Constant Field Values

    - #### FLAG_HAVEANCHOR

          public static final int FLAG_HAVEANCHOR

      See Also:
        Constant Field Values

    - #### FLAG_BACKGROUND

          public static final int FLAG_BACKGROUND

      See Also:
        Constant Field Values

    - #### FLAG_HASSHAPETYPE

          public static final int FLAG_HASSHAPETYPE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EscherSpRecord

          public EscherSpRecord()

    - #### EscherSpRecord

          public EscherSpRecord(EscherSpRecord other)

  - ### Method Detail

    - #### 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 it's 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.

    - #### serialize

          public int serialize(int offset,
                               byte[] data,
                               EscherSerializationListener listener)

      This method serializes this escher record into a byte array.
      Specified by:
        `serialize` in class `EscherRecord`
      Parameters:
        `offset` - The offset into `data` to start writing the record data to.
        `data` - The byte array to serialize to.
        `listener` - A listener to retrieve start and end callbacks. Use a `NullEscherSerailizationListener` to ignore these events.
      Returns:
        The number of bytes written.
      See Also:
        `NullEscherSerializationListener`

    - #### 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

    - #### getRecordId

          public short getRecordId()

      Description copied from class: `EscherRecord`
      Return the current record id.
      Overrides:
        `getRecordId` in class `EscherRecord`
      Returns:
        The 16 bit record id.

    - #### getRecordName

          public java.lang.String getRecordName()

      Description copied from class: `EscherRecord`
      Subclasses should return the short name for this escher record.
      Specified by:
        `getRecordName` in class `EscherRecord`
      Returns:
        the short name for this escher record

    - #### getShapeId

          public int getShapeId()

      Returns:
        A number that identifies this shape

    - #### setShapeId

          public void setShapeId(int field_1_shapeId)

      Sets a number that identifies this shape.
      Parameters:
        `field_1_shapeId` - the shape id

    - #### getFlags

          public int getFlags()

      The flags that apply to this shape.
      Returns:
        the flags
      See Also:
        `FLAG_GROUP`, `FLAG_CHILD`, `FLAG_PATRIARCH`, `FLAG_DELETED`, `FLAG_OLESHAPE`, `FLAG_HAVEMASTER`, `FLAG_FLIPHORIZ`, `FLAG_FLIPVERT`, `FLAG_CONNECTOR`, `FLAG_HAVEANCHOR`, `FLAG_BACKGROUND`, `FLAG_HASSHAPETYPE`

    - #### setFlags

          public void setFlags(int field_2_flags)

      The flags that apply to this shape.
      Parameters:
        `field_2_flags` - the flags
      See Also:
        `FLAG_GROUP`, `FLAG_CHILD`, `FLAG_PATRIARCH`, `FLAG_DELETED`, `FLAG_OLESHAPE`, `FLAG_HAVEMASTER`, `FLAG_FLIPHORIZ`, `FLAG_FLIPVERT`, `FLAG_CONNECTOR`, `FLAG_HAVEANCHOR`, `FLAG_BACKGROUND`, `FLAG_HASSHAPETYPE`

    - #### getShapeType

          public short getShapeType()

      Returns shape type. Must be one of MSOSPT values (see [MS-ODRAW] for details).
      Returns:
        shape type

    - #### setShapeType

          public void setShapeType(short value)

      Sets shape type. Must be one of MSOSPT values (see [MS-ODRAW] for details).
      Parameters:
        `value` - new shape type

    - #### getGenericProperties

          public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()

      Specified by:
        `getGenericProperties` in interface `GenericRecord`
      Overrides:
        `getGenericProperties` in class `EscherRecord`

    - #### getGenericRecordType

          public java.lang.Enum getGenericRecordType()

    - #### copy

          public EscherSpRecord copy()

      Specified by:
        `copy` in interface `Duplicatable`
      Specified by:
        `copy` in class `EscherRecord`
      Returns:
        a deep copy of the implementing class / instance

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.