org.msgpack.core
Class MessagePacker

java.lang.Object
  extended by org.msgpack.core.MessagePacker
All Implemented Interfaces:
java.io.Closeable

public class MessagePacker
extends java.lang.Object
implements java.io.Closeable

Writer of message packed data.

MessagePacker provides packXXX methods for writing values in the message pack format. To write raw string or binary data, first use packRawStringHeader or packBinaryHeader to specify the data length, then call writePayload(...) method.

MessagePacker class has no guarantee to produce the correct message-pack format data if it is not used correctly: packXXX methods of primitive values always produce the correct format, but packXXXHeader (e.g. array, map, ext) must be followed by correct number of array/map/ext type values. packRawStringHeader(length) and packBinaryHeader(length) must be followed by writePayload( ... length) to supply the binary data of the specified length in the header.


Constructor Summary
MessagePacker(MessageBufferOutput out)
           
MessagePacker(MessageBufferOutput out, MessagePack.Config config)
           
MessagePacker(java.io.OutputStream out)
           
 
Method Summary
 void close()
           
 void flush()
           
 MessagePacker pack(Value v)
           
 MessagePacker packArrayHeader(int arraySize)
           
 MessagePacker packBigInteger(java.math.BigInteger bi)
           
 MessagePacker packBinary(byte[] src)
           
 MessagePacker packBinary(byte[] src, int offset, int len)
           
 MessagePacker packBinary(java.nio.ByteBuffer src)
           
 MessagePacker packBinaryHeader(int len)
           
 MessagePacker packBoolean(boolean b)
           
 MessagePacker packByte(byte b)
           
 MessagePacker packDouble(double v)
           
 MessagePacker packExtendedType(int extType, byte[] src)
           
 MessagePacker packExtendedType(int extType, byte[] src, int offset, int len)
           
 MessagePacker packExtendedType(int extType, java.nio.ByteBuffer src)
           
 MessagePacker packExtendedTypeHeader(int extType, int dataLen)
           
 MessagePacker packFloat(float v)
           
 MessagePacker packInt(int r)
           
 MessagePacker packLong(long v)
           
 MessagePacker packMapHeader(int mapSize)
           
 MessagePacker packNil()
           
 MessagePacker packRawString(java.nio.ByteBuffer src)
           
 MessagePacker packRawStringHeader(int len)
           
 MessagePacker packShort(short v)
           
 MessagePacker packString(java.lang.String s)
          Pack the input String in UTF-8 encoding
 MessagePacker writePayload(byte[] src)
           
 MessagePacker writePayload(byte[] src, int off, int len)
           
 MessagePacker writePayload(java.nio.ByteBuffer src)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessagePacker

public MessagePacker(java.io.OutputStream out)

MessagePacker

public MessagePacker(MessageBufferOutput out)

MessagePacker

public MessagePacker(MessageBufferOutput out,
                     MessagePack.Config config)
Method Detail

flush

public void flush()
           throws java.io.IOException
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Throws:
java.io.IOException

packNil

public MessagePacker packNil()
                      throws java.io.IOException
Throws:
java.io.IOException

packBoolean

public MessagePacker packBoolean(boolean b)
                          throws java.io.IOException
Throws:
java.io.IOException

packByte

public MessagePacker packByte(byte b)
                       throws java.io.IOException
Throws:
java.io.IOException

packShort

public MessagePacker packShort(short v)
                        throws java.io.IOException
Throws:
java.io.IOException

packInt

public MessagePacker packInt(int r)
                      throws java.io.IOException
Throws:
java.io.IOException

packLong

public MessagePacker packLong(long v)
                       throws java.io.IOException
Throws:
java.io.IOException

packBigInteger

public MessagePacker packBigInteger(java.math.BigInteger bi)
                             throws java.io.IOException
Throws:
java.io.IOException

packFloat

public MessagePacker packFloat(float v)
                        throws java.io.IOException
Throws:
java.io.IOException

packDouble

public MessagePacker packDouble(double v)
                         throws java.io.IOException
Throws:
java.io.IOException

packString

public MessagePacker packString(java.lang.String s)
                         throws java.io.IOException
Pack the input String in UTF-8 encoding

Parameters:
s -
Returns:
Throws:
java.io.IOException

packArrayHeader

public MessagePacker packArrayHeader(int arraySize)
                              throws java.io.IOException
Throws:
java.io.IOException

packMapHeader

public MessagePacker packMapHeader(int mapSize)
                            throws java.io.IOException
Throws:
java.io.IOException

pack

public MessagePacker pack(Value v)
                   throws java.io.IOException
Throws:
java.io.IOException

packExtendedType

public MessagePacker packExtendedType(int extType,
                                      byte[] src,
                                      int offset,
                                      int len)
                               throws java.io.IOException
Throws:
java.io.IOException

packExtendedType

public MessagePacker packExtendedType(int extType,
                                      byte[] src)
                               throws java.io.IOException
Throws:
java.io.IOException

packExtendedType

public MessagePacker packExtendedType(int extType,
                                      java.nio.ByteBuffer src)
                               throws java.io.IOException
Throws:
java.io.IOException

packExtendedTypeHeader

public MessagePacker packExtendedTypeHeader(int extType,
                                            int dataLen)
                                     throws java.io.IOException
Throws:
java.io.IOException

packBinary

public MessagePacker packBinary(byte[] src)
                         throws java.io.IOException
Throws:
java.io.IOException

packBinary

public MessagePacker packBinary(byte[] src,
                                int offset,
                                int len)
                         throws java.io.IOException
Throws:
java.io.IOException

packBinary

public MessagePacker packBinary(java.nio.ByteBuffer src)
                         throws java.io.IOException
Throws:
java.io.IOException

packBinaryHeader

public MessagePacker packBinaryHeader(int len)
                               throws java.io.IOException
Throws:
java.io.IOException

packRawString

public MessagePacker packRawString(java.nio.ByteBuffer src)
                            throws java.io.IOException
Throws:
java.io.IOException

packRawStringHeader

public MessagePacker packRawStringHeader(int len)
                                  throws java.io.IOException
Throws:
java.io.IOException

writePayload

public MessagePacker writePayload(java.nio.ByteBuffer src)
                           throws java.io.IOException
Throws:
java.io.IOException

writePayload

public MessagePacker writePayload(byte[] src)
                           throws java.io.IOException
Throws:
java.io.IOException

writePayload

public MessagePacker writePayload(byte[] src,
                                  int off,
                                  int len)
                           throws java.io.IOException
Throws:
java.io.IOException