@Override public ObjRecord clone() { ObjRecord rec = new ObjRecord(); for (SubRecord record : subrecords) { rec.addSubRecord(record.clone()); } return rec; } }
CommonObjectDataSubRecord cmo = (CommonObjectDataSubRecord)SubRecord.createSubRecord(subRecStream, 0); subrecords.add(cmo); while (true) { SubRecord subRecord = SubRecord.createSubRecord(subRecStream, cmo.getObjectType()); subrecords.add(subRecord); if (subRecord.isTerminating()) { break;
public byte[] serialize() { int size = getDataSize() + 4; ByteArrayOutputStream baos = new ByteArrayOutputStream(size); serialize(new LittleEndianOutputStream(baos)); if (baos.size() != size) { throw new RuntimeException("write size mismatch"); } return baos.toByteArray(); }
@Override public int getRecordSize() { if (_uninterpretedData != null) { return _uninterpretedData.length + 4; } int size = 0; for (SubRecord record : subrecords) { size += record.getDataSize()+4; } if (_isPaddedToQuadByteMultiple) { while (size % MAX_PAD_ALIGNMENT != 0) { size++; } } else { while (size % NORMAL_PAD_ALIGNMENT != 0) { size++; } } return size + 4; }
@Override public int serialize(int offset, byte[] data) { int recSize = getRecordSize(); int dataSize = recSize - 4; LittleEndianByteArrayOutputStream out = new LittleEndianByteArrayOutputStream(data, offset, recSize); // NOSONAR out.writeShort(sid); out.writeShort(dataSize); if (_uninterpretedData == null) { for (int i = 0; i < subrecords.size(); i++) { SubRecord record = subrecords.get(i); record.serialize(out); } int expectedEndIx = offset+dataSize; // padding while (out.getWriteIndex() < expectedEndIx) { out.writeByte(0); } } else { out.write(_uninterpretedData); } return recSize; }
@Override public int getRecordSize() { if (_uninterpretedData != null) { return _uninterpretedData.length + 4; } int size = 0; for (SubRecord record : subrecords) { size += record.getDataSize()+4; } if (_isPaddedToQuadByteMultiple) { while (size % MAX_PAD_ALIGNMENT != 0) { size++; } } else { while (size % NORMAL_PAD_ALIGNMENT != 0) { size++; } } return size + 4; }
public int serialize(int offset, byte[] data) { int recSize = getRecordSize(); int dataSize = recSize - 4; LittleEndianByteArrayOutputStream out = new LittleEndianByteArrayOutputStream(data, offset, recSize); out.writeShort(sid); out.writeShort(dataSize); if (_uninterpretedData == null) { for (int i = 0; i < subrecords.size(); i++) { SubRecord record = subrecords.get(i); record.serialize(out); } int expectedEndIx = offset+dataSize; // padding while (out.getWriteIndex() < expectedEndIx) { out.writeByte(0); } } else { out.write(_uninterpretedData); } return recSize; }
public byte[] serialize() { int size = getDataSize() + 4; ByteArrayOutputStream baos = new ByteArrayOutputStream(size); serialize(new LittleEndianOutputStream(baos)); if (baos.size() != size) { throw new RuntimeException("write size mismatch"); } return baos.toByteArray(); }
ByteArrayInputStream bais = new ByteArrayInputStream(subRecordData); LittleEndianInputStream subRecStream = new LittleEndianInputStream(bais); CommonObjectDataSubRecord cmo = (CommonObjectDataSubRecord)SubRecord.createSubRecord(subRecStream, 0); subrecords.add(cmo); while (true) { SubRecord subRecord = SubRecord.createSubRecord(subRecStream, cmo.getObjectType()); subrecords.add(subRecord); if (subRecord.isTerminating()) { break;
public Object clone() { ObjRecord rec = new ObjRecord(); for (int i = 0; i < subrecords.size(); i++) { SubRecord record = subrecords.get(i); rec.addSubRecord((SubRecord) record.clone()); } return rec; } }
public int getRecordSize() { if (_uninterpretedData != null) { return _uninterpretedData.length + 4; } int size = 0; for (int i=subrecords.size()-1; i>=0; i--) { SubRecord record = subrecords.get(i); size += record.getDataSize()+4; } if (_isPaddedToQuadByteMultiple) { while (size % MAX_PAD_ALIGNMENT != 0) { size++; } } else { while (size % NORMAL_PAD_ALIGNMENT != 0) { size++; } } return size + 4; }
public int serialize(int offset, byte[] data) { int recSize = getRecordSize(); int dataSize = recSize - 4; LittleEndianByteArrayOutputStream out = new LittleEndianByteArrayOutputStream(data, offset, recSize); out.writeShort(sid); out.writeShort(dataSize); if (_uninterpretedData == null) { for (int i = 0; i < subrecords.size(); i++) { SubRecord record = subrecords.get(i); record.serialize(out); } int expectedEndIx = offset+dataSize; // padding while (out.getWriteIndex() < expectedEndIx) { out.writeByte(0); } } else { out.write(_uninterpretedData); } return recSize; }
public byte[] serialize() { int size = getDataSize() + 4; ByteArrayOutputStream baos = new ByteArrayOutputStream(size); serialize(new LittleEndianOutputStream(baos)); if (baos.size() != size) { throw new RuntimeException("write size mismatch"); } return baos.toByteArray(); }
ByteArrayInputStream bais = new ByteArrayInputStream(subRecordData); LittleEndianInputStream subRecStream = new LittleEndianInputStream(bais); CommonObjectDataSubRecord cmo = (CommonObjectDataSubRecord)SubRecord.createSubRecord(subRecStream, 0); subrecords.add(cmo); while (true) { SubRecord subRecord = SubRecord.createSubRecord(subRecStream, cmo.getObjectType()); subrecords.add(subRecord); if (subRecord.isTerminating()) { break;
public Object clone() { ObjRecord rec = new ObjRecord(); for (int i = 0; i < subrecords.size(); i++) { SubRecord record = subrecords.get(i); rec.addSubRecord((SubRecord) record.clone()); } return rec; } }
public int getRecordSize() { if (_uninterpretedData != null) { return _uninterpretedData.length + 4; } int size = 0; for (int i=subrecords.size()-1; i>=0; i--) { SubRecord record = subrecords.get(i); size += record.getDataSize()+4; } if (_isPaddedToQuadByteMultiple) { while (size % MAX_PAD_ALIGNMENT != 0) { size++; } } else { while (size % NORMAL_PAD_ALIGNMENT != 0) { size++; } } return size + 4; }
@Override public int serialize(int offset, byte[] data) { int recSize = getRecordSize(); int dataSize = recSize - 4; LittleEndianByteArrayOutputStream out = new LittleEndianByteArrayOutputStream(data, offset, recSize); // NOSONAR out.writeShort(sid); out.writeShort(dataSize); if (_uninterpretedData == null) { for (int i = 0; i < subrecords.size(); i++) { SubRecord record = subrecords.get(i); record.serialize(out); } int expectedEndIx = offset+dataSize; // padding while (out.getWriteIndex() < expectedEndIx) { out.writeByte(0); } } else { out.write(_uninterpretedData); } return recSize; }
public byte[] serialize() { int size = getDataSize() + 4; ByteArrayOutputStream baos = new ByteArrayOutputStream(size); serialize(new LittleEndianOutputStream(baos)); if (baos.size() != size) { throw new RuntimeException("write size mismatch"); } return baos.toByteArray(); }
CommonObjectDataSubRecord cmo = (CommonObjectDataSubRecord)SubRecord.createSubRecord(subRecStream, 0); subrecords.add(cmo); while (true) { SubRecord subRecord = SubRecord.createSubRecord(subRecStream, cmo.getObjectType()); subrecords.add(subRecord); if (subRecord.isTerminating()) { break;
@Override public ObjRecord clone() { ObjRecord rec = new ObjRecord(); for (SubRecord record : subrecords) { rec.addSubRecord(record.clone()); } return rec; } }