@Override public void _parseDetails(ByteBuffer content) { parseVersionAndFlags(content); int tmp = IsoTypeReader.readUInt8(content); offsetSize = tmp >>> 4; lengthSize = tmp & 0xf; tmp = IsoTypeReader.readUInt8(content); baseOffsetSize = tmp >>> 4; if (getVersion() == 1) { indexSize = tmp & 0xf; } int itemCount = IsoTypeReader.readUInt16(content); for (int i = 0; i < itemCount; i++) { items.add(new Item(content)); } }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt8(byteBuffer, ((offsetSize << 4) | lengthSize)); if (getVersion() == 1) { IsoTypeWriter.writeUInt8(byteBuffer, (baseOffsetSize << 4 | indexSize)); } else { IsoTypeWriter.writeUInt8(byteBuffer, (baseOffsetSize << 4)); } IsoTypeWriter.writeUInt16(byteBuffer, items.size()); for (Item item : items) { item.getContent(byteBuffer); } }
@Override public void _parseDetails(ByteBuffer content) { parseVersionAndFlags(content); int tmp = IsoTypeReader.readUInt8(content); offsetSize = tmp >>> 4; lengthSize = tmp & 0xf; tmp = IsoTypeReader.readUInt8(content); baseOffsetSize = tmp >>> 4; if (getVersion() == 1) { indexSize = tmp & 0xf; } int itemCount = IsoTypeReader.readUInt16(content); for (int i = 0; i < itemCount; i++) { items.add(new Item(content)); } }
public Item createItem(int itemId, int constructionMethod, int dataReferenceIndex, long baseOffset, List<Extent> extents) { return new Item(itemId, constructionMethod, dataReferenceIndex, baseOffset, extents); }
@Override protected void getContent(ByteBuffer byteBuffer) { writeVersionAndFlags(byteBuffer); IsoTypeWriter.writeUInt8(byteBuffer, ((offsetSize << 4) | lengthSize)); if (getVersion() == 1) { IsoTypeWriter.writeUInt8(byteBuffer, (baseOffsetSize << 4 | indexSize)); } else { IsoTypeWriter.writeUInt8(byteBuffer, (baseOffsetSize << 4)); } IsoTypeWriter.writeUInt16(byteBuffer, items.size()); for (Item item : items) { item.getContent(byteBuffer); } }
Item createItem(ByteBuffer bb) { return new Item(bb); }
@Override protected long getContentSize() { long size = 8; for (Item item : items) { size += item.getSize(); } return size; }
Item createItem(ByteBuffer bb) { return new Item(bb); }
@Override protected long getContentSize() { long size = 8; for (Item item : items) { size += item.getSize(); } return size; }
public Item createItem(int itemId, int constructionMethod, int dataReferenceIndex, long baseOffset, List<Extent> extents) { return new Item(itemId, constructionMethod, dataReferenceIndex, baseOffset, extents); }