public class TTextProtocol extends TProtocol
For an example, see: tests/resources/com/twitter/common/thrift/text/TTextProtocol_TestData.txt
which is a text encoding of the thrift message defined in:
src/main/thrift/com/twitter/common/thrift/text/TTextProtocolTest.thrift
Whitespace (including newlines) is not significant.
No comments are allowed in the json.
Messages must be formatted as a JSON object with a field 'method' containing
the message name, 'type' containing the message type as an uppercase string
corresponding to TMessageType, 'args' containing a JSON object with
the actual arguments, and an optional 'seqid' field containing the sequence
id. If 'seqid' is not provided, it will be treated as 0. 'args' should use
the argument names as defined in the service definition.
Example:{
"method": "GetItem",
"type": "CALL",
"args": {
"id": 1,
"fetchAll": true
},
"seqid": 100
}
TODO(Alex Roetter): write a wrapper that allows us to read in a file of many structs (perhaps stored in a JsonArray), passing each struct to this class for parsing.
See thrift's @see org.apache.thrift.protocol.TJSONProtocol for another example an implementation of the @see TProtocol interface. This class is based on that.
TODO(Alex Roetter): Also add a new TEXT_PROTOCOL field to ThriftCodec
TODO: Support map enum keys specified as strings.
TODO: Support string values for enums that have been typedef'd.
| Modifier and Type | Class and Description |
|---|---|
static class |
TTextProtocol.Factory
Factory.
|
| Constructor and Description |
|---|
TTextProtocol(TTransport trans)
Create a parser which can read from trans, and create the output writer
that can write to a TTransport.
|
getTransportpublic TTextProtocol(TTransport trans)
public void writeMessageBegin(TMessage message) throws TException
writeMessageBegin in class TProtocolTExceptionpublic void writeMessageEnd()
throws TException
writeMessageEnd in class TProtocolTExceptionpublic void writeStructBegin(TStruct struct) throws TException
writeStructBegin in class TProtocolTExceptionpublic void writeStructEnd()
throws TException
writeStructEnd in class TProtocolTExceptionpublic void writeFieldBegin(TField field) throws TException
writeFieldBegin in class TProtocolTExceptionpublic void writeFieldEnd()
throws TException
writeFieldEnd in class TProtocolTExceptionpublic void writeFieldStop()
throws TException
writeFieldStop in class TProtocolTExceptionpublic void writeMapBegin(TMap map) throws TException
writeMapBegin in class TProtocolTExceptionpublic void writeMapEnd()
throws TException
writeMapEnd in class TProtocolTExceptionpublic void writeListBegin(TList list) throws TException
writeListBegin in class TProtocolTExceptionpublic void writeListEnd()
throws TException
writeListEnd in class TProtocolTExceptionpublic void writeSetBegin(TSet set) throws TException
writeSetBegin in class TProtocolTExceptionpublic void writeSetEnd()
throws TException
writeSetEnd in class TProtocolTExceptionpublic void writeBool(boolean b)
throws TException
writeBool in class TProtocolTExceptionpublic void writeByte(byte b)
throws TException
writeByte in class TProtocolTExceptionpublic void writeI16(short i16)
throws TException
writeI16 in class TProtocolTExceptionpublic void writeI32(int i32)
throws TException
writeI32 in class TProtocolTExceptionpublic void writeI64(long i64)
throws TException
writeI64 in class TProtocolTExceptionpublic void writeDouble(double dub)
throws TException
writeDouble in class TProtocolTExceptionpublic void writeString(String str) throws TException
writeString in class TProtocolTExceptionpublic void writeBinary(ByteBuffer buf) throws TException
writeBinary in class TProtocolTExceptionpublic TMessage readMessageBegin() throws TException
readMessageBegin in class TProtocolTExceptionpublic void readMessageEnd()
throws TException
readMessageEnd in class TProtocolTExceptionpublic TStruct readStructBegin() throws TException
readStructBegin in class TProtocolTExceptionpublic void readStructEnd()
throws TException
readStructEnd in class TProtocolTExceptionpublic TField readFieldBegin() throws TException
readFieldBegin in class TProtocolTExceptionpublic void readFieldEnd()
throws TException
readFieldEnd in class TProtocolTExceptionpublic TMap readMapBegin() throws TException
readMapBegin in class TProtocolTExceptionpublic void readMapEnd()
throws TException
readMapEnd in class TProtocolTExceptionpublic TList readListBegin() throws TException
readListBegin in class TProtocolTExceptionpublic void readListEnd()
throws TException
readListEnd in class TProtocolTExceptionpublic TSet readSetBegin() throws TException
readSetBegin in class TProtocolTExceptionpublic void readSetEnd()
throws TException
readSetEnd in class TProtocolTExceptionpublic boolean readBool()
throws TException
readBool in class TProtocolTExceptionpublic byte readByte()
throws TException
readByte in class TProtocolTExceptionpublic short readI16()
throws TException
readI16 in class TProtocolTExceptionpublic int readI32()
throws TException
readI32 in class TProtocolTExceptionpublic long readI64()
throws TException
readI64 in class TProtocolTExceptionpublic double readDouble()
throws TException
readDouble in class TProtocolTExceptionpublic String readString() throws TException
readString in class TProtocolTExceptionpublic ByteBuffer readBinary() throws TException
readBinary in class TProtocolTException© Copyright 2015–2017 LINE Corporation. All rights reserved.