| Method from org.apache.poi.hssf.record.DrawingRecord Detail: |
public Object clone() {
DrawingRecord rec = new DrawingRecord();
if (recordData != null) {
rec.recordData = new byte[ recordData.length ];
System.arraycopy(recordData, 0, rec.recordData, 0, recordData.length);
}
if (contd != null) {
System.arraycopy(contd, 0, rec.contd, 0, contd.length);
rec.contd = new byte[ contd.length ];
}
return rec;
}
|
protected void fillFields(RecordInputStream in) {
recordData = in.readRemainder();
}
|
public byte[] getData() {
if(contd != null) {
byte[] newBuffer = new byte[ recordData.length + contd.length ];
System.arraycopy( recordData, 0, newBuffer, 0, recordData.length );
System.arraycopy( contd, 0, newBuffer, recordData.length, contd.length);
return newBuffer;
} else {
return recordData;
}
}
|
public int getRecordSize() {
int retval = 4;
if (recordData != null)
{
retval += recordData.length;
}
return retval;
}
|
public short getSid() {
return sid;
}
|
public void processContinueRecord(byte[] record) {
//don't merge continue record with the drawing record, it must be serialized separately
contd = record;
}
|
public int serialize(int offset,
byte[] data) {
if (recordData == null)
{
recordData = new byte[ 0 ];
}
LittleEndian.putShort(data, 0 + offset, sid);
LittleEndian.putShort(data, 2 + offset, ( short ) (recordData.length));
if (recordData.length > 0)
{
System.arraycopy(recordData, 0, data, 4 + offset, recordData.length);
}
return getRecordSize();
}
|
public void setData(byte[] thedata) {
this.recordData = thedata;
}
|
protected void validateSid(short id) {
if (id != sid)
{
throw new RecordFormatException("Not a MSODRAWING record");
}
}
Checks the sid matches the expected side for this record |