package org.jerlang.stdlib.beam_lib; import org.jerlang.type.Integer; import org.jerlang.type.Tuple; public class Chunk { private final ChunkId id; private final int offset; private final int length; public Chunk(ChunkId expectedChunkId, Chunk chunk) { this(chunk.id, chunk.offset, chunk.length); if (id != expectedChunkId) { throw new Error("Unexpected chunk id: " + id); } } public Chunk(ChunkId id, int offset, int length) { this.id = id; this.offset = offset; this.length = length; } public ChunkId id() { return id; } public int offset() { return offset; } public int length() { return length; } public Tuple asTuple() { return Tuple.of(id.toStr(), Integer.of(offset), Integer.of(length)); } }