public abstract class EscherRecord extends Object
| Constructor and Description | 
|---|
EscherRecord()
Create a new instance 
 | 
| Modifier and Type | Method and Description | 
|---|---|
Object | 
clone()
Escher records may need to be clonable in the future. 
 | 
void | 
display(PrintWriter w,
       int indent)
The display methods allows escher variables to print the record names
 according to their hierarchy. 
 | 
protected int | 
fillFields(byte[] data,
          EscherRecordFactory f)
Delegates to fillFields(byte[], int, EscherRecordFactory) 
 | 
abstract int | 
fillFields(byte[] data,
          int offset,
          EscherRecordFactory recordFactory)
The contract of this method is to deserialize an escher record including
 it's children. 
 | 
EscherRecord | 
getChild(int index)
Returns the indexed child record. 
 | 
List | 
getChildRecords()  | 
short | 
getInstance()
Returns the instance part of the option record. 
 | 
short | 
getOptions()  | 
short | 
getRecordId()
Return the current record id. 
 | 
abstract String | 
getRecordName()
Subclasses should return the short name for this escher record. 
 | 
abstract int | 
getRecordSize()
Subclasses should effeciently return the number of bytes required to
 serialize the record. 
 | 
boolean | 
isContainerRecord()
Determine whether this is a container record by inspecting the option
 field. 
 | 
protected int | 
readHeader(byte[] data,
          int offset)
Reads the 8 byte header information and populates the  
options
 and recordId records. | 
byte[] | 
serialize()
Serializes to a new byte array. 
 | 
int | 
serialize(int offset,
         byte[] data)
Serializes to an existing byte array without serialization listener. 
 | 
abstract int | 
serialize(int offset,
         byte[] data,
         EscherSerializationListener listener)
Serializes the record to an existing byte array. 
 | 
void | 
setChildRecords(List childRecords)
Sets the child records for this record. 
 | 
void | 
setOptions(short options)
Set the options this this record. 
 | 
void | 
setRecordId(short recordId)
Sets the record id for this record. 
 | 
protected int fillFields(byte[] data,
             EscherRecordFactory f)
public abstract int fillFields(byte[] data,
             int offset,
             EscherRecordFactory recordFactory)
data - The byte array containing the serialized escher
                  records.offset - The offset into the byte array.recordFactory - A factory for creating new escher records.protected int readHeader(byte[] data,
             int offset)
options
 and recordId records.data - the byte array to read fromoffset - the offset to start reading frompublic boolean isContainerRecord()
public short getOptions()
public void setOptions(short options)
public byte[] serialize()
serialize(int, byte[])public int serialize(int offset,
            byte[] data)
offset - the offset within the data byte array.data - the data array to serialize to.serialize(int, byte[], loci.poi.ddf.EscherSerializationListener)public abstract int serialize(int offset,
            byte[] data,
            EscherSerializationListener listener)
offset - the offset within the byte arraydata - the data array to serialize tolistener - 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.public abstract int getRecordSize()
public short getRecordId()
public void setRecordId(short recordId)
public List getChildRecords()
EscherContainerRecordpublic void setChildRecords(List childRecords)
childRecords - Not used in base implementation.public Object clone()
public EscherRecord getChild(int index)
public void display(PrintWriter w, int indent)
w - The print writer to output to.indent - The current indent level.public abstract String getRecordName()
public short getInstance()
Copyright © 2014 Open Microscopy Environment