Class PrettySerializer
- java.lang.Object
-
- net.morimekta.providence.serializer.Serializer
-
- net.morimekta.providence.serializer.PrettySerializer
-
public class PrettySerializer extends Serializer
Pretty printer that can print message content for easily reading and debugging. This is a write only format used in stringifying messages.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
MEDIA_TYPE
-
Fields inherited from class net.morimekta.providence.serializer.Serializer
DEFAULT_STRICT
-
-
Constructor Summary
Constructors Constructor Description PrettySerializer()
PrettySerializer(boolean strict)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
binaryProtocol()
PrettySerializer
compact()
Make a PrettySerializer that generates content similar to the PMessage asString methods.PrettySerializer
config()
Make a PrettySerializer that generates content similar to what the ProvidenceConfig reads.<Message extends PMessage<Message,Field>,Field extends PField>
Messagedeserialize(java.io.InputStream input, PMessageDescriptor<Message,Field> descriptor)
Deserialize a message.<Message extends PMessage<Message,Field>,Field extends PField>
PServiceCall<Message,Field>deserialize(java.io.InputStream input, PService service)
Deserialize a service call.java.lang.String
mediaType()
<Message extends PMessage<Message,Field>,Field extends PField>
intserialize(java.io.OutputStream out, Message message)
Serialize a message.<Message extends PMessage<Message,Field>,Field extends PField>
intserialize(java.io.OutputStream out, PServiceCall<Message,Field> call)
Serialize a service call.PrettySerializer
string()
Make a PrettySerializer that generates content similar to the PMessage toString methods.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class net.morimekta.providence.serializer.Serializer
isRequestCallType
-
-
-
-
Field Detail
-
MEDIA_TYPE
public static final java.lang.String MEDIA_TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
compact
public PrettySerializer compact()
Make a PrettySerializer that generates content similar to the PMessage asString methods. The output of this has very little whitespace, so can be pretty difficult to read. It's similar to thestring()
variant, but without the qualified name prefix.- Returns:
- Compact pretty serializer.
-
string
public PrettySerializer string()
Make a PrettySerializer that generates content similar to the PMessage toString methods. The output of this has very little whitespace, so can be pretty difficult to read. It prefixes the message with the root message qualified name, as anyPMessage
.toString() would expect.- Returns:
- String pretty serializer.
-
config
public PrettySerializer config()
Make a PrettySerializer that generates content similar to what the ProvidenceConfig reads. It will not make use of references or anything fancy though.- Returns:
- Config-like pretty serializer.
-
serialize
public <Message extends PMessage<Message,Field>,Field extends PField> int serialize(@Nonnull java.io.OutputStream out, @Nonnull Message message)
Description copied from class:Serializer
Serialize a message.- Specified by:
serialize
in classSerializer
- Type Parameters:
Message
- The message type.Field
- The message field type.- Parameters:
out
- The output stream to write to.message
- The message to write.- Returns:
- The number of bytes written to the output stream.
-
serialize
public <Message extends PMessage<Message,Field>,Field extends PField> int serialize(@Nonnull java.io.OutputStream out, @Nonnull PServiceCall<Message,Field> call) throws java.io.IOException
Description copied from class:Serializer
Serialize a service call.- Specified by:
serialize
in classSerializer
- Type Parameters:
Message
- The message type contained in the service call.Field
- The message field type.- Parameters:
out
- The output stream to write to.call
- The service call to write.- Returns:
- The number of bytes written to the output stream.
- Throws:
java.io.IOException
- If writing or serialization failed.
-
deserialize
@Nonnull public <Message extends PMessage<Message,Field>,Field extends PField> PServiceCall<Message,Field> deserialize(@Nonnull java.io.InputStream input, @Nonnull PService service) throws java.io.IOException
Description copied from class:Serializer
Deserialize a service call.- Specified by:
deserialize
in classSerializer
- Type Parameters:
Message
- The message type contained in the returned service call.Field
- The message field type.- Parameters:
input
- The input stream to read from.service
- The service definition to read for.- Returns:
- The service call read.
- Throws:
java.io.IOException
- If reading or deserialization failed.
-
deserialize
@Nonnull public <Message extends PMessage<Message,Field>,Field extends PField> Message deserialize(@Nonnull java.io.InputStream input, @Nonnull PMessageDescriptor<Message,Field> descriptor) throws java.io.IOException
Description copied from class:Serializer
Deserialize a message.- Specified by:
deserialize
in classSerializer
- Type Parameters:
Message
- The message type.Field
- The message field type.- Parameters:
input
- The input stream to read from.descriptor
- The descriptor of the message to read.- Returns:
- The message read.
- Throws:
java.io.IOException
- If reading or deserialization failed.
-
binaryProtocol
public boolean binaryProtocol()
- Specified by:
binaryProtocol
in classSerializer
- Returns:
- True if the protocol of the serializer is "binary" a.k.a. unreadable to most humans.
-
mediaType
@Nonnull public java.lang.String mediaType()
- Specified by:
mediaType
in classSerializer
- Returns:
- Media type of the content generated by the serializer. Can be used for Content-Type and Accept HTTP headers, MIME type etc.
-
-