Package io.protostuff
Class YamlOutput
- java.lang.Object
-
- io.protostuff.WriteSession
-
- io.protostuff.YamlOutput
-
- All Implemented Interfaces:
Output
,StatefulOutput
public final class YamlOutput extends WriteSession implements Output, StatefulOutput
An output used for writing data with yaml format.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.protostuff.WriteSession
WriteSession.FlushHandler
-
-
Field Summary
Fields Modifier and Type Field Description private static byte[]
COLON_AND_SPACE
private static byte[]
DASH_AND_SPACE
private static byte[]
EMPTY_ARRAY
private static byte
EXCLAMATION
static int
EXTRA_INDENT
The extra indention for the yaml output.private static byte[]
FALSE
private int
indent
private int
lastNumber
static int
LINE_BREAK_LEN
Returns 2 if line break is using CRLF ("\r\n"), 1 if using LF ("\n")private Schema<?>
schema
private static byte[]
TRUE
-
Fields inherited from class io.protostuff.WriteSession
flushHandler, head, nextBufferSize, out, sink, size, tail
-
-
Constructor Summary
Constructors Constructor Description YamlOutput(LinkedBuffer buffer, Schema<?> schema)
YamlOutput(LinkedBuffer buffer, java.io.OutputStream out, Schema<?> schema)
YamlOutput(LinkedBuffer buffer, java.io.OutputStream out, WriteSession.FlushHandler flushHandler, int nextBufferSize, Schema<?> schema)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description YamlOutput
clear()
The buffer will be cleared (tail will point to the head) and the size will be reset to zero.private static int
inc(int target, int byAmount)
private static LinkedBuffer
newLine(int indent, WriteSink sink, WriteSession session, LinkedBuffer lb)
void
reset()
Resets this output for re-use.void
updateLast(Schema<?> schema, Schema<?> lastSchema)
Updates the schema iflastSchema
was indeed the last schema used.YamlOutput
use(Schema<?> schema)
Before serializing a message/object tied to a schema, this should be called.void
writeBool(int fieldNumber, boolean value, boolean repeated)
Writes a boolean field.void
writeByteArray(int fieldNumber, byte[] value, boolean repeated)
Writes a byte array field.void
writeByteRange(boolean utf8String, int fieldNumber, byte[] value, int offset, int length, boolean repeated)
Writes a binary or a pre-encoded utf8 string.void
writeBytes(int fieldNumber, ByteString value, boolean repeated)
Writes a ByteString(wraps byte array) field.void
writeBytes(int fieldNumber, java.nio.ByteBuffer value, boolean repeated)
Writes a ByteBuffer field.void
writeDouble(int fieldNumber, double value, boolean repeated)
Writes a double field.void
writeEnum(int fieldNumber, int value, boolean repeated)
Writes a enum(its number) field.void
writeFixed32(int fieldNumber, int value, boolean repeated)
Writes a fixed int(4 bytes) field.void
writeFixed64(int fieldNumber, long value, boolean repeated)
Writes a fixed long(8 bytes) field.void
writeFloat(int fieldNumber, float value, boolean repeated)
Writes a float field.void
writeInt32(int fieldNumber, int value, boolean repeated)
Writes a variable int field.void
writeInt64(int fieldNumber, long value, boolean repeated)
Writes a variable long field.private static LinkedBuffer
writeKey(java.lang.String name, int indent, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb)
<T> void
writeObject(int fieldNumber, T value, Schema<T> schema, boolean repeated)
Writes an object(using its schema) field.(package private) YamlOutput
writeSequenceDelim()
void
writeSFixed32(int fieldNumber, int value, boolean repeated)
Writes a signed+fixed int(4 bytes) field.void
writeSFixed64(int fieldNumber, long value, boolean repeated)
Writes a signed+fixed long(8 bytes) field.void
writeSInt32(int fieldNumber, int value, boolean repeated)
Writes a signed int field.void
writeSInt64(int fieldNumber, long value, boolean repeated)
Writes a signed long field.void
writeString(int fieldNumber, java.lang.CharSequence value, boolean repeated)
Writes a String field.(package private) static LinkedBuffer
writeTag(java.lang.String name, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb)
void
writeUInt32(int fieldNumber, int value, boolean repeated)
Writes an unsigned int field.void
writeUInt64(int fieldNumber, long value, boolean repeated)
Writes an unsigned long field.-
Methods inherited from class io.protostuff.WriteSession
flush, flush, flush, getSize, toByteArray
-
-
-
-
Field Detail
-
LINE_BREAK_LEN
public static final int LINE_BREAK_LEN
Returns 2 if line break is using CRLF ("\r\n"), 1 if using LF ("\n")
-
EXTRA_INDENT
public static final int EXTRA_INDENT
The 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:
- Constant Field Values
-
indent
private int indent
-
lastNumber
private int lastNumber
-
schema
private Schema<?> schema
-
-
Constructor Detail
-
YamlOutput
public YamlOutput(LinkedBuffer buffer, Schema<?> schema)
-
YamlOutput
public YamlOutput(LinkedBuffer buffer, java.io.OutputStream out, WriteSession.FlushHandler flushHandler, int nextBufferSize, Schema<?> schema)
-
YamlOutput
public YamlOutput(LinkedBuffer buffer, java.io.OutputStream out, Schema<?> schema)
-
-
Method Detail
-
reset
public void reset()
Resets this output for re-use.- Overrides:
reset
in classWriteSession
-
clear
public YamlOutput clear()
Description copied from class:WriteSession
The buffer will be cleared (tail will point to the head) and the size will be reset to zero.- Overrides:
clear
in classWriteSession
-
use
public YamlOutput use(Schema<?> schema)
Before serializing a message/object tied to a schema, this should be called.
-
updateLast
public void updateLast(Schema<?> schema, Schema<?> lastSchema)
Description copied from interface:StatefulOutput
Updates the schema iflastSchema
was indeed the last schema used.- Specified by:
updateLast
in interfaceStatefulOutput
-
writeSequenceDelim
YamlOutput writeSequenceDelim() throws java.io.IOException
- Throws:
java.io.IOException
-
inc
private static int inc(int target, int byAmount)
-
writeBool
public void writeBool(int fieldNumber, boolean value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a boolean field.
-
writeDouble
public void writeDouble(int fieldNumber, double value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a double field.- Specified by:
writeDouble
in interfaceOutput
- Throws:
java.io.IOException
-
writeFloat
public void writeFloat(int fieldNumber, float value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a float field.- Specified by:
writeFloat
in interfaceOutput
- Throws:
java.io.IOException
-
writeEnum
public void writeEnum(int fieldNumber, int value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a enum(its number) field.
-
writeFixed32
public void writeFixed32(int fieldNumber, int value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a fixed int(4 bytes) field.- Specified by:
writeFixed32
in interfaceOutput
- Throws:
java.io.IOException
-
writeInt32
public void writeInt32(int fieldNumber, int value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a variable int field.- Specified by:
writeInt32
in interfaceOutput
- Throws:
java.io.IOException
-
writeSFixed32
public void writeSFixed32(int fieldNumber, int value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a signed+fixed int(4 bytes) field.- Specified by:
writeSFixed32
in interfaceOutput
- Throws:
java.io.IOException
-
writeUInt32
public void writeUInt32(int fieldNumber, int value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes an unsigned int field.- Specified by:
writeUInt32
in interfaceOutput
- Throws:
java.io.IOException
-
writeSInt32
public void writeSInt32(int fieldNumber, int value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a signed int field.- Specified by:
writeSInt32
in interfaceOutput
- Throws:
java.io.IOException
-
writeFixed64
public void writeFixed64(int fieldNumber, long value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a fixed long(8 bytes) field.- Specified by:
writeFixed64
in interfaceOutput
- Throws:
java.io.IOException
-
writeInt64
public void writeInt64(int fieldNumber, long value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a variable long field.- Specified by:
writeInt64
in interfaceOutput
- Throws:
java.io.IOException
-
writeSFixed64
public void writeSFixed64(int fieldNumber, long value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a signed+fixed long(8 bytes) field.- Specified by:
writeSFixed64
in interfaceOutput
- Throws:
java.io.IOException
-
writeSInt64
public void writeSInt64(int fieldNumber, long value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a signed long field.- Specified by:
writeSInt64
in interfaceOutput
- Throws:
java.io.IOException
-
writeUInt64
public void writeUInt64(int fieldNumber, long value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes an unsigned long field.- Specified by:
writeUInt64
in interfaceOutput
- Throws:
java.io.IOException
-
writeString
public void writeString(int fieldNumber, java.lang.CharSequence value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a String field.- Specified by:
writeString
in interfaceOutput
- Throws:
java.io.IOException
-
writeBytes
public void writeBytes(int fieldNumber, ByteString value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a ByteString(wraps byte array) field.- Specified by:
writeBytes
in interfaceOutput
- Throws:
java.io.IOException
-
writeByteArray
public void writeByteArray(int fieldNumber, byte[] value, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a byte array field.- Specified by:
writeByteArray
in interfaceOutput
- Throws:
java.io.IOException
-
writeByteRange
public void writeByteRange(boolean utf8String, int fieldNumber, byte[] value, int offset, int length, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes a binary or a pre-encoded utf8 string.- Specified by:
writeByteRange
in interfaceOutput
- Throws:
java.io.IOException
-
writeObject
public <T> void writeObject(int fieldNumber, T value, Schema<T> schema, boolean repeated) throws java.io.IOException
Description copied from interface:Output
Writes an object(using its schema) field.- Specified by:
writeObject
in interfaceOutput
- Throws:
java.io.IOException
-
writeTag
static LinkedBuffer writeTag(java.lang.String name, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb) throws java.io.IOException
- Throws:
java.io.IOException
-
writeKey
private static LinkedBuffer writeKey(java.lang.String name, int indent, boolean repeated, WriteSink sink, WriteSession session, LinkedBuffer lb) throws java.io.IOException
- Throws:
java.io.IOException
-
newLine
private static LinkedBuffer newLine(int indent, WriteSink sink, WriteSession session, LinkedBuffer lb) throws java.io.IOException
- Throws:
java.io.IOException
-
writeBytes
public void writeBytes(int fieldNumber, java.nio.ByteBuffer value, boolean repeated) throws java.io.IOException
Writes a ByteBuffer field.- Specified by:
writeBytes
in interfaceOutput
- Throws:
java.io.IOException
-
-