/** * Method for directly inserting specified byte in output at * current position. *<p> * NOTE: only use this method if you really know what you are doing. */ public void writeRaw(byte b) throws IOException { _writeByte(b); }
@Override public void writeRawUTF8String(byte[] raw, int offset, int len) throws IOException { _verifyValueWrite("write String value"); if (len == 0) { _writeByte(BYTE_EMPTY_STRING); return; } _writeLengthMarker(PREFIX_TYPE_TEXT, len); _writeBytes(raw, 0, len); }
@Override public void writeRawUTF8String(byte[] raw, int offset, int len) throws IOException { _verifyValueWrite("write String value"); if (len == 0) { _writeByte(BYTE_EMPTY_STRING); return; } _writeLengthMarker(PREFIX_TYPE_TEXT, len); _writeBytes(raw, 0, len); }
@Override public void writeBoolean(boolean state) throws IOException { _verifyValueWrite("write boolean value"); if (state) { _writeByte(BYTE_TRUE); } else { _writeByte(BYTE_FALSE); } }
@Override public void writeRawUTF8String(byte[] raw, int offset, int len) throws IOException { _verifyValueWrite("write String value"); if (len == 0) { _writeByte(BYTE_EMPTY_STRING); return; } _writeLengthMarker(PREFIX_TYPE_TEXT, len); _writeBytes(raw, 0, len); }
@Override public void writeBoolean(boolean state) throws IOException { _verifyValueWrite("write boolean value"); if (state) { _writeByte(BYTE_TRUE); } else { _writeByte(BYTE_FALSE); } }
@Override public final void writeString(SerializableString sstr) throws IOException { _verifyValueWrite("write String value"); byte[] raw = sstr.asUnquotedUTF8(); final int len = raw.length; if (len == 0) { _writeByte(BYTE_EMPTY_STRING); return; } _writeLengthMarker(PREFIX_TYPE_TEXT, len); _writeBytes(raw, 0, len); }
@Override public void writeNull() throws IOException { _verifyValueWrite("write null value"); _writeByte(BYTE_NULL); }
@Override public void writeNull() throws IOException { _verifyValueWrite("write null value"); _writeByte(BYTE_NULL); }
@Override public final void writeStartArray() throws IOException { _verifyValueWrite("start an array"); _writeContext = _writeContext.createChildArrayContext(); _writeByte(BYTE_ARRAY_INDEFINITE); }
@Override public void writeString(char[] text, int offset, int len) throws IOException { _verifyValueWrite("write String value"); if (len == 0) { _writeByte(BYTE_EMPTY_STRING); return; } _writeString(text, offset, len); }
@Override public final void writeStartArray() throws IOException { _verifyValueWrite("start an array"); _writeContext = _writeContext.createChildArrayContext(); _writeByte(BYTE_ARRAY_INDEFINITE); }
@Override public final void writeStartObject() throws IOException { _verifyValueWrite("start an object"); _writeContext = _writeContext.createChildObjectContext(); _writeByte(BYTE_OBJECT_INDEFINITE); }
@Override public void writeString(char[] text, int offset, int len) throws IOException { _verifyValueWrite("write String value"); if (len == 0) { _writeByte(BYTE_EMPTY_STRING); return; } _writeString(text, offset, len); }
@Override public void writeStartArray(int size) throws IOException { _verifyValueWrite("start an array"); _writeContext = _writeContext.createChildArrayContext(); /* if (size >= 31 || size < 0) { _writeByte(BYTE_ARRAY_INDEFINITE); } else { } */ _writeByte(BYTE_ARRAY_INDEFINITE); }
@Override public void writeString(char[] text, int offset, int len) throws IOException { _verifyValueWrite("write String value"); if (len == 0) { _writeByte(BYTE_EMPTY_STRING); return; } _writeString(text, offset, len); }
@Override public final void writeStartArray() throws IOException { _verifyValueWrite("start an array"); _writeContext = _writeContext.createChildArrayContext(); if (_elementCountsPtr > 0) { _pushRemainingElements(); } _currentRemainingElements = INDEFINITE_LENGTH; _writeByte(BYTE_ARRAY_INDEFINITE); }
@Override public final void writeStartObject() throws IOException { _verifyValueWrite("start an object"); _writeContext = _writeContext.createChildObjectContext(); if (_elementCountsPtr > 0) { _pushRemainingElements(); } _currentRemainingElements = INDEFINITE_LENGTH; _writeByte(BYTE_OBJECT_INDEFINITE); }
@Override public final void writeEndArray() throws IOException { if (!_writeContext.inArray()) { _reportError("Current context not an ARRAY but "+_writeContext.getTypeDesc()); } _writeByte(BYTE_BREAK); _writeContext = _writeContext.getParent(); }
@Override public final void writeEndObject() throws IOException { if (!_writeContext.inObject()) { _reportError("Current context not an object but "+_writeContext.getTypeDesc()); } _writeContext = _writeContext.getParent(); _writeByte(BYTE_BREAK); }