@Override public String toString() { return id.name() + ":" + StringUtil.bytesToHexString(Arrays.copyOfRange(params, 0, Math.max(20, params.length))); }
public static ByteArrayLenEncoding fromParams(final byte[] data) { final ByteBuffer buffer = ByteBuffer.wrap(data); final EncodingID lenID = EncodingID.values()[buffer.get()]; final int lenLength = ITF8.readUnsignedITF8(buffer); final byte[] lenBytes = new byte[lenLength]; buffer.get(lenBytes); final CRAMEncoding<Integer> lenEncoding = EncodingFactory.createEncoding(DataSeriesType.INT, lenID, lenBytes); final EncodingID byteID = EncodingID.values()[buffer.get()]; final int byteLength = ITF8.readUnsignedITF8(buffer); final byte[] byteBytes = new byte[byteLength]; buffer.get(byteBytes); final CRAMEncoding<byte[]> byteEncoding = EncodingFactory.createEncoding(DataSeriesType.BYTE_ARRAY, byteID, byteBytes); return new ByteArrayLenEncoding(lenEncoding, byteEncoding); }
final DataSeries dataSeries = DataSeries.byCanonicalName(dataSeriesAbbreviation); final EncodingID id = EncodingID.values()[buffer.get()]; final int paramLen = ITF8.readUnsignedITF8(buffer); final byte[] paramBytes = new byte[paramLen]; dataSeries.name(), id.name(), Arrays.toString(Arrays.copyOf(paramBytes, 20)))); final int key = ITF8.readUnsignedITF8(buf); final EncodingID id = EncodingID.values()[buf.get()]; final int paramLen = ITF8.readUnsignedITF8(buf); final byte[] paramBytes = new byte[paramLen];
final DataSeries dataSeries = DataSeries.byCanonicalName(dataSeriesAbbreviation); final EncodingID id = EncodingID.values()[buffer.get()]; final int paramLen = ITF8.readUnsignedITF8(buffer); final byte[] paramBytes = new byte[paramLen]; dataSeries.name(), id.name(), Arrays.toString(Arrays.copyOf(paramBytes, 20)))); final int key = ITF8.readUnsignedITF8(buf); final EncodingID id = EncodingID.values()[buf.get()]; final int paramLen = ITF8.readUnsignedITF8(buf); final byte[] paramBytes = new byte[paramLen];
@Override public byte[] toByteArray() { final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); try { byteArrayOutputStream.write((byte) lenEncoding.id().getId()); final byte[] lenBytes = lenEncoding.toByteArray(); ITF8.writeUnsignedITF8(lenBytes.length, byteArrayOutputStream); byteArrayOutputStream.write(lenBytes); byteArrayOutputStream.write((byte) byteEncoding.id().getId()); final byte[] byteBytes = byteEncoding.toByteArray(); ITF8.writeUnsignedITF8(byteBytes.length, byteArrayOutputStream); byteArrayOutputStream.write(byteBytes); } catch (final IOException e) { throw new RuntimeIOException(e); } return byteArrayOutputStream.toByteArray(); }
@Override public String toString() { return id.name() + ":" + StringUtil.bytesToHexString(Arrays.copyOfRange(params, 0, Math.max(20, params.length))); }
public static ByteArrayLenEncoding fromParams(final byte[] data) { final ByteBuffer buffer = ByteBuffer.wrap(data); final EncodingID lenID = EncodingID.values()[buffer.get()]; final int lenLength = ITF8.readUnsignedITF8(buffer); final byte[] lenBytes = new byte[lenLength]; buffer.get(lenBytes); final CRAMEncoding<Integer> lenEncoding = EncodingFactory.createEncoding(DataSeriesType.INT, lenID, lenBytes); final EncodingID byteID = EncodingID.values()[buffer.get()]; final int byteLength = ITF8.readUnsignedITF8(buffer); final byte[] byteBytes = new byte[byteLength]; buffer.get(byteBytes); final CRAMEncoding<byte[]> byteEncoding = EncodingFactory.createEncoding(DataSeriesType.BYTE_ARRAY, byteID, byteBytes); return new ByteArrayLenEncoding(lenEncoding, byteEncoding); }
@Override public byte[] toByteArray() { final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); try { byteArrayOutputStream.write((byte) lenEncoding.id().getId()); final byte[] lenBytes = lenEncoding.toByteArray(); ITF8.writeUnsignedITF8(lenBytes.length, byteArrayOutputStream); byteArrayOutputStream.write(lenBytes); byteArrayOutputStream.write((byte) byteEncoding.id().getId()); final byte[] byteBytes = byteEncoding.toByteArray(); ITF8.writeUnsignedITF8(byteBytes.length, byteArrayOutputStream); byteArrayOutputStream.write(byteBytes); } catch (final IOException e) { throw new RuntimeIOException(e); } return byteArrayOutputStream.toByteArray(); }
+ valueType.name() + ", encoding id=" + id.name());
+ valueType.name() + ", encoding id=" + id.name());