@Override public double[] readDoubleArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); double[] doubles = new double[len]; for (int i = 0; i < len; i++) { doubles[i] = in.readDouble(); } return doubles; }
@Override public byte[] readByteArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); byte[] bytes = new byte[len]; in.readFully(bytes); return bytes; }
@Override public float[] readFloatArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); float[] floats = new float[len]; for (int i = 0; i < len; i++) { floats[i] = in.readFloat(); } return floats; }
@Override public int[] readIntArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); int[] ints = new int[len]; for (int i = 0; i < len; i++) { ints[i] = in.readInt(); } return ints; }
@Override public float[] readFloatArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); float[] floats = new float[len]; for (int i = 0; i < len; i++) { floats[i] = in.readFloat(); } return floats; }
@Override public long[] readLongArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); long[] longs = new long[len]; for (int i = 0; i < len; i++) { longs[i] = in.readLong(); } return longs; }
public Map<String, String> entryToObject(DataInput input) throws IOException { int len = Varint.readUnsignedVarInt(input); Map<String, String> props = new HashMap<String, String>(); for (int i = 0; i < len; i++) { String k = input.readUTF(); String v = input.readUTF(); props.put(k, v); } return props; }
public Map<String, String> entryToObject(DataInput input) throws IOException { int len = Varint.readUnsignedVarInt(input); Map<String, String> props = new HashMap<String, String>(); for (int i = 0; i < len; i++) { String k = input.readUTF(); String v = input.readUTF(); props.put(k, v); } return props; }
public List<ObjectId> entryToObject(DataInput input) throws IOException { int len = Varint.readUnsignedVarInt(input); List<ObjectId> list = new ArrayList<ObjectId>((int) (1.5 * len)); for (int i = 0; i < len; i++) { list.add(OID.entryToObject(input)); } return list; }
public @Override String readString(DataInput in) throws IOException { final int stIndex = readUnsignedVarInt(in); StringTable st = stringTable.get(); String value = st.get(stIndex); return value; }
@Override public String[] readStringArray(DataInput in) throws IOException { final int len = readUnsignedVarInt(in); String[] strings = new String[len]; for (int i = 0; i < len; i++) { strings[i] = readString(in); } return strings; }
public static int[] readUnsignedIntArray(DataInput in, AtomicInteger outBytesRead) throws IOException { final int length = readLength(in); int[] values = new int[length]; for (int i = 0; i < length; i++) { values[i] = readUnsignedVarInt(in); } return values; }
public List<ObjectId> entryToObject(DataInput input) throws IOException { int len = Varint.readUnsignedVarInt(input); List<ObjectId> list = new ArrayList<ObjectId>((int) (1.5 * len)); for (int i = 0; i < len; i++) { list.add(OID.entryToObject(input)); } return list; }
public static int[] readUnsignedIntArray(DataInput in, AtomicInteger outBytesRead) throws IOException { final int length = readLength(in); int[] values = new int[length]; for (int i = 0; i < length; i++) { values[i] = readUnsignedVarInt(in); } return values; }
public final RevPerson readRevPerson(DataInput in) throws IOException { final String name = in.readUTF(); final String email = in.readUTF(); final long timestamp = readUnsignedVarLong(in); final int tzOffset = readUnsignedVarInt(in); return RevPerson.builder().build(name.length() == 0 ? null : name, email.length() == 0 ? null : email, timestamp, tzOffset); }
@Override public Geometry readGeometry(DataInput in, GeometryFactory geomFac) throws IOException { final int len = readUnsignedVarInt(in); final DataInputInStream inStream = new DataInputInStream(in, len); WKBReader wkbReader = new WKBReader(geomFac); try { return wkbReader.read(inStream); } catch (ParseException e) { throw new RuntimeException(e); } }
public RevFeatureType readFeatureType(@Nullable ObjectId id, DataInput in, FeatureTypeFactory typeFactory) throws IOException { Name name = readName(in); int propertyCount = readUnsignedVarInt(in); List<AttributeDescriptor> attributes = new ArrayList<AttributeDescriptor>(); for (int i = 0; i < propertyCount; i++) { attributes.add(readAttributeDescriptor(in, typeFactory)); } SimpleFeatureType ftype = typeFactory.createSimpleFeatureType(name, attributes, null, false, Collections.<Filter> emptyList(), BasicFeatureTypes.FEATURE, null); return RevFeatureType.builder().id(id).type(ftype).build(); }
public RevFeature readFeature(@Nullable ObjectId id, DataInput in) throws IOException { final int count = readUnsignedVarInt(in); final RevFeatureBuilder builder = RevFeature.builder(); for (int i = 0; i < count; i++) { final byte fieldTag = in.readByte(); final FieldType fieldType = FieldType.valueOf(fieldTag); Object value = valueEncoder.decode(fieldType, in); builder.addValueNoCopy(value); } RevFeature built = builder.id(id).build(); return built; }
private void checkUnsignedVarInt(final int value) throws IOException { ByteArrayDataOutput out = newDataOutput(); writeUnsignedVarInt(value, out); int read = readUnsignedVarInt(newDataInput(out.toByteArray())); assertEquals(value, read); }
private void checkUnsignedVarInt(final int value) throws IOException { ByteArrayDataOutput out = newDataOutput(); writeUnsignedVarInt(value, out); int read = readUnsignedVarInt(newDataInput(out.toByteArray())); assertEquals(value, read); }