mirror of
https://github.com/msgpack/msgpack-c
synced 2026-06-08 16:11:40 +00:00
import MessagePack for Java
This commit is contained in:
+68
@@ -0,0 +1,68 @@
|
||||
package serializers.msgpack;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import org.msgpack.*;
|
||||
import serializers.ObjectSerializer;
|
||||
|
||||
public class MessagePackDynamicSerializer implements ObjectSerializer<Object>
|
||||
{
|
||||
public String getName() {
|
||||
return "msgpack-dynamic";
|
||||
}
|
||||
|
||||
public Object create() throws Exception {
|
||||
ArrayList media = new ArrayList(11);
|
||||
media.add("http://javaone.com/keynote.mpg");
|
||||
media.add("video/mpg4");
|
||||
media.add("Javaone Keynote");
|
||||
media.add(1234567L);
|
||||
media.add(0);
|
||||
ArrayList<String> person = new ArrayList<String>(2);
|
||||
person.add("Bill Gates");
|
||||
person.add("Steve Jobs");
|
||||
media.add(person);
|
||||
media.add(0);
|
||||
media.add(0);
|
||||
media.add(0);
|
||||
media.add(123L);
|
||||
media.add("");
|
||||
|
||||
ArrayList image1 = new ArrayList(5);
|
||||
image1.add("http://javaone.com/keynote_large.jpg");
|
||||
image1.add(0);
|
||||
image1.add(0);
|
||||
image1.add(2);
|
||||
image1.add("Javaone Keynote");
|
||||
|
||||
ArrayList image2 = new ArrayList(5);
|
||||
image2.add("http://javaone.com/keynote_thumbnail.jpg");
|
||||
image2.add(0);
|
||||
image2.add(0);
|
||||
image2.add(1);
|
||||
image2.add("Javaone Keynote");
|
||||
|
||||
ArrayList content = new ArrayList(2);
|
||||
content.add(media);
|
||||
ArrayList<Object> images = new ArrayList<Object>(2);
|
||||
images.add(image1);
|
||||
images.add(image2);
|
||||
content.add(images);
|
||||
|
||||
return content;
|
||||
}
|
||||
|
||||
public byte[] serialize(Object content) throws Exception {
|
||||
ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||
Packer pk = new Packer(os);
|
||||
pk.pack(content);
|
||||
return os.toByteArray();
|
||||
}
|
||||
|
||||
public Object deserialize(byte[] array) throws Exception {
|
||||
UnbufferedUnpacker pac = new UnbufferedUnpacker();
|
||||
pac.execute(array);
|
||||
return (Object)pac.getData();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user