@Override public byte[] getSerializedData() { byte[] classifierBytes = serialize(classifier).getBytes(); DynamicSliceOutput output = new DynamicSliceOutput(classifierBytes.length + 64 * labelEnumeration.size()); output.appendInt(classifierBytes.length); output.appendBytes(classifierBytes); output.appendInt(labelEnumeration.size()); // Write the enumeration keys for (Map.Entry<Integer, String> entry : labelEnumeration.entrySet()) { output.appendInt(entry.getKey()); byte[] bytes = entry.getValue().getBytes(UTF_8); output.appendInt(bytes.length); output.appendBytes(bytes); } return output.slice().getBytes(); }
private static void writeGeometryCollection(Geometry collection, DynamicSliceOutput output) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.getNumGeometries(); geometryIndex++) { Geometry geometry = collection.getGeometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(geometry, output); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }
private static void writeGeometryCollection(DynamicSliceOutput output, OGCGeometryCollection collection) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.numGeometries(); geometryIndex++) { OGCGeometry geometry = collection.geometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(output, geometry); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }
@Override public byte[] getSerializedData() { byte[] classifierBytes = serialize(classifier).getBytes(); DynamicSliceOutput output = new DynamicSliceOutput(classifierBytes.length + 64 * labelEnumeration.size()); output.appendInt(classifierBytes.length); output.appendBytes(classifierBytes); output.appendInt(labelEnumeration.size()); // Write the enumeration keys for (Map.Entry<Integer, String> entry : labelEnumeration.entrySet()) { output.appendInt(entry.getKey()); byte[] bytes = entry.getValue().getBytes(UTF_8); output.appendInt(bytes.length); output.appendBytes(bytes); } return output.slice().getBytes(); }
public Slice serialize() { int size = SizeOf.SIZE_OF_BYTE + // format tag SizeOf.SIZE_OF_BYTE + // p SizeOf.SIZE_OF_SHORT + // number of entries SizeOf.SIZE_OF_INT * numberOfEntries; DynamicSliceOutput out = new DynamicSliceOutput(size) .appendByte(Format.SPARSE_V2.getTag()) .appendByte(indexBitLength) .appendShort(numberOfEntries); for (int i = 0; i < numberOfEntries; i++) { out.appendInt(entries[i]); } return out.slice(); }
public Slice serialize() { int size = SizeOf.SIZE_OF_BYTE + // format tag SizeOf.SIZE_OF_BYTE + // p SizeOf.SIZE_OF_SHORT + // number of entries SizeOf.SIZE_OF_INT * numberOfEntries; DynamicSliceOutput out = new DynamicSliceOutput(size) .appendByte(Format.SPARSE_V2.getTag()) .appendByte(indexBitLength) .appendShort(numberOfEntries); for (int i = 0; i < numberOfEntries; i++) { out.appendInt(entries[i]); } return out.slice(); }
private static void writeGeometryCollection(DynamicSliceOutput output, OGCGeometryCollection collection) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.numGeometries(); geometryIndex++) { OGCGeometry geometry = collection.geometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(output, geometry); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }
private static void writeGeometryCollection(DynamicSliceOutput output, OGCGeometryCollection collection) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.numGeometries(); geometryIndex++) { OGCGeometry geometry = collection.geometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(output, geometry); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }
private static void writeGeometryCollection(Geometry collection, DynamicSliceOutput output) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.getNumGeometries(); geometryIndex++) { Geometry geometry = collection.getGeometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(geometry, output); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }
private static void writeGeometryCollection(DynamicSliceOutput output, OGCGeometryCollection collection) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.numGeometries(); geometryIndex++) { OGCGeometry geometry = collection.geometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(output, geometry); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }
private static void writeGeometryCollection(Geometry collection, DynamicSliceOutput output) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.getNumGeometries(); geometryIndex++) { Geometry geometry = collection.getGeometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(geometry, output); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }
private static void writeGeometryCollection(Geometry collection, DynamicSliceOutput output) { output.appendByte(GeometrySerializationType.GEOMETRY_COLLECTION.code()); for (int geometryIndex = 0; geometryIndex < collection.getNumGeometries(); geometryIndex++) { Geometry geometry = collection.getGeometryN(geometryIndex); int startPosition = output.size(); // leave 4 bytes for the shape length output.appendInt(0); writeGeometry(geometry, output); int endPosition = output.size(); int length = endPosition - startPosition - Integer.BYTES; output.getUnderlyingSlice().setInt(startPosition, length); } }