private static long readUnsigned(ScanBuffer in) { long value = 0; byte b; do { b = in.getByte(); value = value << 7 | (b & BIT_MASK); } while (b >= 0); return value; }
@Override public Byte read(ScanBuffer buffer) { return (byte) (buffer.getByte() + Byte.MIN_VALUE); }
@Override public Object read(ScanBuffer buffer) { Preconditions.checkArgument(buffer.getByte()==1,"Invalid serialization state"); return new Object(); }
@Override public Boolean read(ScanBuffer buffer) { return decode(buffer.getByte()); }
@Override public String readByteOrder(ScanBuffer buffer) { byte prefix = buffer.getByte(); if (prefix==-1) return null; assert prefix==0; StringBuilder s = new StringBuilder(); while (true) { char c = cs.readByteOrder(buffer); if (((int) c) > 0) s.append(c); else break; } return s.toString(); }
StringBuilder sb = new StringBuilder(); while (true) { int c = 0xFF & buffer.getByte(); sb.append((char)(c & 0x7F)); if ((c & 0x80) > 0) break; StringBuilder sb = new StringBuilder((int)length); for (int i = 0; i < length; i++) { int b = buffer.getByte() & 0xFF; switch (b >> 4) { case 0: case 12: case 13: sb.append((char)((b & 0x1F) << 6 | buffer.getByte() & 0x3F)); break; case 14: sb.append((char)((b & 0x0F) << 12 | (buffer.getByte() & 0x3F) << 6 | buffer.getByte() & 0x3F)); break;
@Override public boolean[] read(ScanBuffer buffer) { int length = getLength(buffer); if (length<0) return null; boolean[] result = new boolean[length]; int b = 0; for (int i = 0; i < length; i++) { int offset = i%8; if (offset==0) { b= 0xFF & buffer.getByte(); } result[i]=BooleanSerializer.decode((byte)((b>>>(7-offset))&1)); } return result; }
private <T> T readObjectInternal(ScanBuffer buffer, Class<T> type, boolean byteOrder) { if (supportsNullSerialization(type)) { AttributeSerializer<T> s = getSerializer(type); if (byteOrder) return ensureOrderPreserving(s,type).readByteOrder(buffer); else return s.read(buffer); } else { //Read flag for null or not byte flag = buffer.getByte(); if (flag==-1) { return null; } else { Preconditions.checkArgument(flag==0,"Invalid flag encountered in serialization: %s. Corrupted data.",flag); return readObjectNotNullInternal(buffer,type,byteOrder); } } }