/** * Write instance {@code val} into buffer {@code dst}. * @throws IllegalArgumentException when the encoded representation of * {@code val} contains the {@code term} sequence. */ @Override public int encode(PositionedByteRange dst, T val) { final int start = dst.getPosition(); int written = wrapped.encode(dst, val); PositionedByteRange b = dst.shallowCopy(); b.setLength(dst.getPosition()); b.setPosition(start); if (-1 != terminatorPosition(b)) { dst.setPosition(start); throw new IllegalArgumentException("Encoded value contains terminator sequence."); } dst.put(term); return written + term.length; } }
public static byte[] serialize(Object o) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); serialize(buffer, o); buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public static byte[] serializeWithSalt(Object o) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); serializeWithSalt(buffer, o); buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
/** * Write instance {@code val} into buffer {@code dst}. * @throws IllegalArgumentException when the encoded representation of * {@code val} contains the {@code term} sequence. */ @Override public int encode(PositionedByteRange dst, T val) { final int start = dst.getPosition(); int written = wrapped.encode(dst, val); PositionedByteRange b = dst.shallowCopy(); b.setLength(dst.getPosition()); b.setPosition(start); if (-1 != terminatorPosition(b)) { dst.setPosition(start); throw new IllegalArgumentException("Encoded value contains terminator sequence."); } dst.put(term); return written + term.length; } }
/** * Write instance {@code val} into buffer {@code dst}. * @throws IllegalArgumentException when the encoded representation of * {@code val} contains the {@code term} sequence. */ @Override public int encode(PositionedByteRange dst, T val) { final int start = dst.getPosition(); int written = wrapped.encode(dst, val); PositionedByteRange b = dst.shallowCopy(); b.setLength(dst.getPosition()); b.setPosition(start); if (-1 != terminatorPosition(b)) { dst.setPosition(start); throw new IllegalArgumentException("Encoded value contains terminator sequence."); } dst.put(term); return written + term.length; } }
/** * Write instance {@code val} into buffer {@code dst}. * @throws IllegalArgumentException when the encoded representation of * {@code val} contains the {@code term} sequence. */ @Override public int encode(PositionedByteRange dst, T val) { final int start = dst.getPosition(); int written = wrapped.encode(dst, val); PositionedByteRange b = dst.shallowCopy(); b.setLength(dst.getPosition()); b.setPosition(start); if (-1 != terminatorPosition(b)) { dst.setPosition(start); throw new IllegalArgumentException("Encoded value contains terminator sequence."); } dst.put(term); return written + term.length; } }
private byte[] serializePrefix(String label, boolean isUnique, String key) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); OrderedBytes.encodeString(buffer, label, Order.ASCENDING); OrderedBytes.encodeInt8(buffer, isUnique ? (byte) 1 : (byte) 0, Order.ASCENDING); OrderedBytes.encodeString(buffer, key, Order.ASCENDING); buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public byte[] serialize(String outVertexLabel, String edgeLabel, String inVertexLabel) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); OrderedBytes.encodeString(buffer, outVertexLabel, Order.ASCENDING); OrderedBytes.encodeString(buffer, edgeLabel, Order.ASCENDING); OrderedBytes.encodeString(buffer, inVertexLabel, Order.ASCENDING); buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public byte[] serializeForRead(String label, boolean isUnique, String key, Object value) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); byte[] prefix = serializePrefix(label, isUnique, key); ValueUtils.serializeWithSalt(buffer, prefix); if (value != null) { ValueUtils.serialize(buffer, value); } buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public byte[] serialize(LabelMetadata.Key label) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); OrderedBytes.encodeString(buffer, label.label(), Order.ASCENDING); OrderedBytes.encodeInt8(buffer, label.type() == ElementType.VERTEX ? (byte) 1 : (byte) 0, Order.ASCENDING); buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public byte[] serialize(IndexMetadata.Key index) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); OrderedBytes.encodeString(buffer, index.label(), Order.ASCENDING); OrderedBytes.encodeString(buffer, index.propertyKey(), Order.ASCENDING); OrderedBytes.encodeInt8(buffer, index.type() == ElementType.VERTEX ? (byte) 1 : (byte) 0, Order.ASCENDING); buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public byte[] serializeForWrite(Vertex vertex, boolean isUnique, String key) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); byte[] prefix = serializePrefix(vertex.label(), isUnique, key); ValueUtils.serializeWithSalt(buffer, prefix); ValueUtils.serialize(buffer, vertex.value(key)); if (!isUnique) { ValueUtils.serialize(buffer, vertex.id()); } buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public byte[] serializeForRead(Vertex vertex, Direction direction, boolean isUnique, String key, String label, Object value) { PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); ValueUtils.serializeWithSalt(buffer, vertex.id()); if (direction != null) { OrderedBytes.encodeInt8(buffer, direction == Direction.IN ? (byte) 1 : (byte) 0, Order.ASCENDING); OrderedBytes.encodeInt8(buffer, isUnique ? (byte) 1 : (byte) 0, Order.ASCENDING); if (key != null) { OrderedBytes.encodeString(buffer, key, Order.ASCENDING); if (label != null) { OrderedBytes.encodeString(buffer, label, Order.ASCENDING); if (value != null) { ValueUtils.serialize(buffer, value); } } } } buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }
public byte[] serializeForWrite(Edge edge, Direction direction, boolean isUnique, String key) { Object inVertexId = edge.inVertex().id(); Object outVertexId = edge.outVertex().id(); PositionedByteRange buffer = new DynamicPositionedMutableByteRange(4096); ValueUtils.serializeWithSalt(buffer, direction == Direction.IN ? inVertexId : outVertexId); OrderedBytes.encodeInt8(buffer, direction == Direction.IN ? (byte) 1 : (byte) 0, Order.ASCENDING); OrderedBytes.encodeInt8(buffer, isUnique ? (byte) 1 : (byte) 0, Order.ASCENDING); OrderedBytes.encodeString(buffer, key, Order.ASCENDING); OrderedBytes.encodeString(buffer, edge.label(), Order.ASCENDING); if (key.equals(Constants.CREATED_AT)) { ValueUtils.serialize(buffer, ((HBaseEdge) edge).createdAt()); } else { ValueUtils.serialize(buffer, edge.value(key)); } if (!isUnique) { ValueUtils.serialize(buffer, direction == Direction.IN ? outVertexId : inVertexId); ValueUtils.serialize(buffer, edge.id()); } buffer.setLength(buffer.getPosition()); buffer.setPosition(0); byte[] bytes = new byte[buffer.getRemaining()]; buffer.get(bytes); return bytes; }