org.apache.poi.ddf
Class EscherProperty

java.lang.Object
  extended by org.apache.poi.ddf.EscherProperty
Direct Known Subclasses:
EscherComplexProperty, EscherSimpleProperty

public abstract class EscherProperty
extends java.lang.Object

This is the abstract base class for all escher properties.

See Also:
EscherOptRecord

Constructor Summary
EscherProperty(short id)
          The id is distinct from the actual property number.
EscherProperty(short propertyNumber, boolean isComplex, boolean isBlipId)
          Constructs a new escher property.
 
Method Summary
 short getId()
           
 java.lang.String getName()
           
 short getPropertyNumber()
           
 int getPropertySize()
          Most properties are just 6 bytes in length.
 boolean isBlipId()
           
 boolean isComplex()
           
abstract  int serializeComplexPart(byte[] data, int pos)
          Escher properties consist of a simple fixed length part and a complex variable length part.
abstract  int serializeSimplePart(byte[] data, int pos)
          Escher properties consist of a simple fixed length part and a complex variable length part.
abstract  java.lang.String toString()
           
 java.lang.String toXml(java.lang.String tab)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EscherProperty

public EscherProperty(short id)
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 combined id

EscherProperty

public EscherProperty(short propertyNumber,
                      boolean isComplex,
                      boolean isBlipId)
Constructs a new escher property. The three parameters are combined to form a property id.

Parameters:
propertyNumber - the property number
isComplex - true, if this is a complex property
isBlipId - true, if this property is a blip id
Method Detail

getId

public short getId()

getPropertyNumber

public short getPropertyNumber()

isComplex

public boolean isComplex()

isBlipId

public boolean isBlipId()

getName

public java.lang.String getName()

getPropertySize

public int getPropertySize()
Most properties are just 6 bytes in length. Override this if we're dealing with complex properties.

Returns:
size of this property (in bytes)

toXml

public java.lang.String toXml(java.lang.String tab)

serializeSimplePart

public abstract int serializeSimplePart(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.

Parameters:
data - the buffer to write to
pos - the starting position
Returns:
the length of the part

serializeComplexPart

public abstract 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.

Parameters:
data - the buffer to write to
pos - the starting position
Returns:
the length of the part

toString

public abstract java.lang.String toString()
Overrides:
toString in class java.lang.Object