Class YamlOutput
java.lang.Object
io.protostuff.WriteSession
io.protostuff.YamlOutput
- All Implemented Interfaces:
Output, StatefulOutput
An output used for writing data with yaml format.
-
Nested Class Summary
Nested classes/interfaces inherited from class WriteSession
WriteSession.FlushHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final byte[]private static final byte[]private static final byte[]private static final bytestatic final intThe extra indention for the yaml output.private static final byte[]private intprivate intstatic final intReturns 2 if line break is using CRLF ("\r\n"), 1 if using LF ("\n")private Schema<?> private static final byte[]Fields inherited from class WriteSession
flushHandler, head, nextBufferSize, out, sink, size, tail -
Constructor Summary
ConstructorsConstructorDescriptionYamlOutput(LinkedBuffer buffer, Schema<?> schema) YamlOutput(LinkedBuffer buffer, OutputStream out, Schema<?> schema) YamlOutput(LinkedBuffer buffer, OutputStream out, WriteSession.FlushHandler flushHandler, int nextBufferSize, Schema<?> schema) -
Method Summary
Modifier and TypeMethodDescriptionclear()The buffer will be cleared (tail will point to the head) and the size will be reset to zero.private static intinc(int target, int byAmount) private static LinkedBuffernewLine(int indent, WriteSink sink, WriteSession session, LinkedBuffer lb) voidreset()Resets this output for re-use.voidupdateLast(Schema<?> schema, Schema<?> lastSchema) Updates the schema iflastSchemawas indeed the last schema used.Before serializing a message/object tied to a schema, this should be called.voidwriteBool(int fieldNumber, boolean value, boolean repeated) Writes a boolean field.voidwriteByteArray(int fieldNumber, byte[] value, boolean repeated) Writes a byte array field.voidwriteByteRange(boolean utf8String, int fieldNumber, byte[] value, int offset, int length, boolean repeated) Writes a binary or a pre-encoded utf8 string.voidwriteBytes(int fieldNumber, ByteString value, boolean repeated) Writes a ByteString(wraps byte array) field.voidwriteBytes(int fieldNumber, ByteBuffer value, boolean repeated) Writes a ByteBuffer field.voidwriteDouble(int fieldNumber, double value, boolean repeated) Writes a double field.voidwriteEnum(int fieldNumber, int value, boolean repeated) Writes a enum(its number) field.voidwriteFixed32(int fieldNumber, int value, boolean repeated) Writes a fixed int(4 bytes) field.voidwriteFixed64(int fieldNumber, long value, boolean repeated) Writes a fixed long(8 bytes) field.voidwriteFloat(int fieldNumber, float value, boolean repeated) Writes a float field.voidwriteInt32(int fieldNumber, int value, boolean repeated) Writes a variable int field.voidwriteInt64(int fieldNumber, long value, boolean repeated) Writes a variable long field.private static LinkedBufferwriteKey(String name, int indent, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb) <T> voidwriteObject(int fieldNumber, T value, Schema<T> schema, boolean repeated) Writes an object(using its schema) field.(package private) YamlOutputvoidwriteSFixed32(int fieldNumber, int value, boolean repeated) Writes a signed+fixed int(4 bytes) field.voidwriteSFixed64(int fieldNumber, long value, boolean repeated) Writes a signed+fixed long(8 bytes) field.voidwriteSInt32(int fieldNumber, int value, boolean repeated) Writes a signed int field.voidwriteSInt64(int fieldNumber, long value, boolean repeated) Writes a signed long field.voidwriteString(int fieldNumber, CharSequence value, boolean repeated) Writes a String field.(package private) static LinkedBufferwriteTag(String name, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb) voidwriteUInt32(int fieldNumber, int value, boolean repeated) Writes an unsigned int field.voidwriteUInt64(int fieldNumber, long value, boolean repeated) Writes an unsigned long field.Methods inherited from class WriteSession
flush, flush, flush, getSize, toByteArray
-
Field Details
-
LINE_BREAK_LEN
public static final int LINE_BREAK_LENReturns 2 if line break is using CRLF ("\r\n"), 1 if using LF ("\n") -
EXTRA_INDENT
public static final int EXTRA_INDENTThe extra indention for the yaml output. (Increases readability) -
COLON_AND_SPACE
private static final byte[] COLON_AND_SPACE -
DASH_AND_SPACE
private static final byte[] DASH_AND_SPACE -
EMPTY_ARRAY
private static final byte[] EMPTY_ARRAY -
TRUE
private static final byte[] TRUE -
FALSE
private static final byte[] FALSE -
EXCLAMATION
private static final byte EXCLAMATION- See Also:
-
indent
private int indent -
lastNumber
private int lastNumber -
schema
-
-
Constructor Details
-
YamlOutput
-
YamlOutput
public YamlOutput(LinkedBuffer buffer, OutputStream out, WriteSession.FlushHandler flushHandler, int nextBufferSize, Schema<?> schema) -
YamlOutput
-
-
Method Details
-
reset
-
clear
Description copied from class:WriteSessionThe buffer will be cleared (tail will point to the head) and the size will be reset to zero.- Overrides:
clearin classWriteSession
-
use
Before serializing a message/object tied to a schema, this should be called. -
updateLast
Description copied from interface:StatefulOutputUpdates the schema iflastSchemawas indeed the last schema used.- Specified by:
updateLastin interfaceStatefulOutput
-
writeSequenceDelim
- Throws:
IOException
-
inc
private static int inc(int target, int byAmount) -
writeBool
Description copied from interface:OutputWrites a boolean field.- Specified by:
writeBoolin interfaceOutput- Throws:
IOException
-
writeDouble
Description copied from interface:OutputWrites a double field.- Specified by:
writeDoublein interfaceOutput- Throws:
IOException
-
writeFloat
Description copied from interface:OutputWrites a float field.- Specified by:
writeFloatin interfaceOutput- Throws:
IOException
-
writeEnum
Description copied from interface:OutputWrites a enum(its number) field.- Specified by:
writeEnumin interfaceOutput- Throws:
IOException
-
writeFixed32
Description copied from interface:OutputWrites a fixed int(4 bytes) field.- Specified by:
writeFixed32in interfaceOutput- Throws:
IOException
-
writeInt32
Description copied from interface:OutputWrites a variable int field.- Specified by:
writeInt32in interfaceOutput- Throws:
IOException
-
writeSFixed32
Description copied from interface:OutputWrites a signed+fixed int(4 bytes) field.- Specified by:
writeSFixed32in interfaceOutput- Throws:
IOException
-
writeUInt32
Description copied from interface:OutputWrites an unsigned int field.- Specified by:
writeUInt32in interfaceOutput- Throws:
IOException
-
writeSInt32
Description copied from interface:OutputWrites a signed int field.- Specified by:
writeSInt32in interfaceOutput- Throws:
IOException
-
writeFixed64
Description copied from interface:OutputWrites a fixed long(8 bytes) field.- Specified by:
writeFixed64in interfaceOutput- Throws:
IOException
-
writeInt64
Description copied from interface:OutputWrites a variable long field.- Specified by:
writeInt64in interfaceOutput- Throws:
IOException
-
writeSFixed64
Description copied from interface:OutputWrites a signed+fixed long(8 bytes) field.- Specified by:
writeSFixed64in interfaceOutput- Throws:
IOException
-
writeSInt64
Description copied from interface:OutputWrites a signed long field.- Specified by:
writeSInt64in interfaceOutput- Throws:
IOException
-
writeUInt64
Description copied from interface:OutputWrites an unsigned long field.- Specified by:
writeUInt64in interfaceOutput- Throws:
IOException
-
writeString
Description copied from interface:OutputWrites a String field.- Specified by:
writeStringin interfaceOutput- Throws:
IOException
-
writeBytes
Description copied from interface:OutputWrites a ByteString(wraps byte array) field.- Specified by:
writeBytesin interfaceOutput- Throws:
IOException
-
writeByteArray
Description copied from interface:OutputWrites a byte array field.- Specified by:
writeByteArrayin interfaceOutput- Throws:
IOException
-
writeByteRange
public void writeByteRange(boolean utf8String, int fieldNumber, byte[] value, int offset, int length, boolean repeated) throws IOException Description copied from interface:OutputWrites a binary or a pre-encoded utf8 string.- Specified by:
writeByteRangein interfaceOutput- Throws:
IOException
-
writeObject
public <T> void writeObject(int fieldNumber, T value, Schema<T> schema, boolean repeated) throws IOException Description copied from interface:OutputWrites an object(using its schema) field.- Specified by:
writeObjectin interfaceOutput- Throws:
IOException
-
writeTag
static LinkedBuffer writeTag(String name, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb) throws IOException - Throws:
IOException
-
writeKey
private static LinkedBuffer writeKey(String name, int indent, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb) throws IOException - Throws:
IOException
-
newLine
private static LinkedBuffer newLine(int indent, WriteSink sink, WriteSession session, LinkedBuffer lb) throws IOException - Throws:
IOException
-
writeBytes
Writes a ByteBuffer field.- Specified by:
writeBytesin interfaceOutput- Throws:
IOException
-