|
|
@@ -33,15 +33,23 @@ public final class ChartEndObjectRecord extends StandardRecord { |
|
|
|
private short rt; |
|
|
|
private short grbitFrt; |
|
|
|
private short iObjectKind; |
|
|
|
private byte[] unused; |
|
|
|
private byte[] reserved; |
|
|
|
|
|
|
|
public ChartEndObjectRecord(RecordInputStream in) { |
|
|
|
rt = in.readShort(); |
|
|
|
grbitFrt = in.readShort(); |
|
|
|
iObjectKind = in.readShort(); |
|
|
|
|
|
|
|
unused = new byte[6]; |
|
|
|
in.readFully(unused); |
|
|
|
// The spec says that there should be 6 bytes at the |
|
|
|
// end, which must be there and must be zero |
|
|
|
// However, sometimes Excel forgets them... |
|
|
|
reserved = new byte[6]; |
|
|
|
if(in.available() == 0) { |
|
|
|
// They've gone missing... |
|
|
|
} else { |
|
|
|
// Read the reserved bytes |
|
|
|
in.readFully(reserved); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@@ -60,7 +68,7 @@ public final class ChartEndObjectRecord extends StandardRecord { |
|
|
|
out.writeShort(grbitFrt); |
|
|
|
out.writeShort(iObjectKind); |
|
|
|
// 6 bytes unused |
|
|
|
out.write(unused); |
|
|
|
out.write(reserved); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@@ -71,7 +79,7 @@ public final class ChartEndObjectRecord extends StandardRecord { |
|
|
|
buffer.append(" .rt =").append(HexDump.shortToHex(rt)).append('\n'); |
|
|
|
buffer.append(" .grbitFrt =").append(HexDump.shortToHex(grbitFrt)).append('\n'); |
|
|
|
buffer.append(" .iObjectKind=").append(HexDump.shortToHex(iObjectKind)).append('\n'); |
|
|
|
buffer.append(" .unused =").append(HexDump.toHex(unused)).append('\n'); |
|
|
|
buffer.append(" .reserved =").append(HexDump.toHex(reserved)).append('\n'); |
|
|
|
buffer.append("[/ENDOBJECT]\n"); |
|
|
|
return buffer.toString(); |
|
|
|
} |