public Serializer putShort(FieldBase field, short value) { buf.putShort(value); return this; } public Serializer putInt(FieldBase field, int value) { buf.putInt(value); return this; }
/** * Writes a 30-bit positive integer to the buffer, using 1, 2, or 4 bytes. * * @param number the integer to write */ public void putInt1_2_4Bytes(int number) { if (number < 0) { throw new IllegalArgumentException("Cannot encode negative number"); } else if (number > 0x3FFFFFFF) { throw new IllegalArgumentException("Cannot encode number larger than 2^30."); } if (number < 0x80) { //length 1 byte put((byte) number); } else if (number < 0x4000) { //length 2 bytes putShort((short) (((short)number) | ((short) 0x8000))); } else { //length 4 bytes putInt(number | 0xC0000000); } }
/** * Writes a 62-bit positive integer to the buffer, using 2, 4, or 8 bytes. * * @param number the integer to write */ public void putInt2_4_8Bytes(long number) { if (number < 0L) { throw new IllegalArgumentException("Cannot encode negative number."); } else if (number > 0x3FFFFFFFFFFFFFFFL) { throw new IllegalArgumentException("Cannot encode number larger than 2^62."); } if (number < 0x8000L) { //length 2 bytes putShort((short) number); } else if (number < 0x40000000L) { //length 4 bytes putInt(((int) number) | 0x80000000); } else { //length 8 bytes putLong(number | 0xC000000000000000L); } }
public void write(FieldBase field, Document doc) { buf.putShort(Document.SERIALIZED_VERSION);
@SuppressWarnings("deprecation") public void write(FieldBase field, Document doc) { buf.putShort(Document.SERIALIZED_VERSION);