org.apache.poi.ddf

## Class EscherSimpleProperty

- java.lang.Object
- - org.apache.poi.ddf.EscherProperty
  - - org.apache.poi.ddf.EscherSimpleProperty

- All Implemented Interfaces:
    GenericRecord
  Direct Known Subclasses:
    EscherBoolProperty, EscherRGBProperty, EscherShapePathProperty

      public class EscherSimpleProperty
      extends EscherProperty

  A simple property is of fixed length and as a property number in addition to a 32-bit value. Properties that can't be stored in only 32-bits are stored as EscherComplexProperty objects.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EscherSimpleProperty(EscherPropertyTypes type, boolean isComplex, boolean isBlipId, int propertyValue)` Constructs a new escher property.
    `EscherSimpleProperty(EscherPropertyTypes type, int propertyValue)` The id is distinct from the actual property number.
    `EscherSimpleProperty(short propertyNumber, boolean isComplex, boolean isBlipId, int propertyValue)` Constructs a new escher property.
    `EscherSimpleProperty(short id, int propertyValue)` The id is distinct from the actual property number.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)` Returns true if one escher property is equal to another.
    `java.util.Map<java.lang.String,java.util.function.Supplier<?>>` | `getGenericProperties()`
    `int` | `getPropertyValue()`
    `int` | `hashCode()` Returns a hashcode so that this object can be stored in collections that require the use of such things.
    `int` | `serializeComplexPart(byte[] data, int pos)` Escher properties consist of a simple fixed length part and a complex variable length part.
    `int` | `serializeSimplePart(byte[] data, int offset)` Serialize the simple part of the escher record.

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

      `getGenericChildren, getGenericRecordType, getId, getName, getPropertyNumber, getPropertySize, isBlipId, isComplex, toString, toXml`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### EscherSimpleProperty

          public EscherSimpleProperty(short id,
                                      int propertyValue)

      The id is distinct from the actual property number. The id includes the property number the blip id flag and an indicator whether the property is complex or not.
      Parameters:
        `id` - the property id
        `propertyValue` - the property value

    - #### EscherSimpleProperty

          public EscherSimpleProperty(EscherPropertyTypes type,
                                      int propertyValue)

      The id is distinct from the actual property number. The id includes the property number the blip id flag and an indicator whether the property is complex or not.
      Parameters:
        `type` - the property type
        `propertyValue` - the property value

    - #### EscherSimpleProperty

          public EscherSimpleProperty(short propertyNumber,
                                      boolean isComplex,
                                      boolean isBlipId,
                                      int propertyValue)

      Constructs a new escher property. The three parameters are combined to form a property id.
      Parameters:
        `propertyNumber` - the property number
        `isComplex` - true, if its a complex property
        `isBlipId` - true, if its a blip
        `propertyValue` - the property value

    - #### EscherSimpleProperty

          public EscherSimpleProperty(EscherPropertyTypes type,
                                      boolean isComplex,
                                      boolean isBlipId,
                                      int propertyValue)

      Constructs a new escher property. The three parameters are combined to form a property id.
      Parameters:
        `propertyNumber` - the property number
        `isComplex` - true, if its a complex property
        `isBlipId` - true, if its a blip
        `propertyValue` - the property value

  - ### Method Detail

    - #### serializeSimplePart

          public int serializeSimplePart(byte[] data,
                                         int offset)

      Serialize the simple part of the escher record.
      Specified by:
        `serializeSimplePart` in class `EscherProperty`
      Parameters:
        `data` - the buffer to write to
        `offset` - the starting position
      Returns:
        the number of bytes serialized.

    - #### serializeComplexPart

          public int serializeComplexPart(byte[] data,
                                          int pos)

      Escher properties consist of a simple fixed length part and a complex variable length part. The fixed length part is serialized first.
      Specified by:
        `serializeComplexPart` in class `EscherProperty`
      Parameters:
        `data` - the buffer to write to
        `pos` - the starting position
      Returns:
        the length of the part

    - #### getPropertyValue

          public int getPropertyValue()

      Returns:
        Return the 32 bit value of this property.

    - #### equals

          public boolean equals(java.lang.Object o)

      Returns true if one escher property is equal to another.
      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Returns a hashcode so that this object can be stored in collections that require the use of such things.
      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### getGenericProperties

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

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

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