summaryrefslogtreecommitdiff
path: root/java/src/main
diff options
context:
space:
mode:
authorfrsyuki <frsyuki@users.sourceforge.jp>2010-10-24 20:46:22 +0900
committerfrsyuki <frsyuki@users.sourceforge.jp>2010-10-24 20:46:22 +0900
commit7ac4ad3e38d5537e83a36f2d9fb9a5ce872c0c57 (patch)
treec47572c05ff65ac0d2962bd1523c6cd3220911ae /java/src/main
parent0a345cb12bb77c7afc5b29cc4568f717e7862ff6 (diff)
downloadmsgpack-python-7ac4ad3e38d5537e83a36f2d9fb9a5ce872c0c57.tar.gz
java: adds MessagePack.register methods
Diffstat (limited to 'java/src/main')
-rw-r--r--java/src/main/java/org/msgpack/MessagePack.java43
1 files changed, 38 insertions, 5 deletions
diff --git a/java/src/main/java/org/msgpack/MessagePack.java b/java/src/main/java/org/msgpack/MessagePack.java
index f9dcce8..449f8a0 100644
--- a/java/src/main/java/org/msgpack/MessagePack.java
+++ b/java/src/main/java/org/msgpack/MessagePack.java
@@ -21,6 +21,10 @@ import java.io.OutputStream;
import java.io.InputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
+//import org.msgpack.util.codegen.DynamicTemplate; // FIXME
+import org.msgpack.util.codegen.DynamicPacker;
+import org.msgpack.util.codegen.DynamicConverter;
+import org.msgpack.util.codegen.DynamicUnpacker;
public class MessagePack {
public static byte[] pack(Object obj) {
@@ -110,14 +114,43 @@ public class MessagePack {
}
- //public static void register(Class<?> target); // TODO: auto-detect
+ public static void register(Class<?> target) { // auto-detect
+ // FIXME
+ //Template tmpl;
+ //if(List.isAssignableFrom(target)) {
+ //} else if(Set.isAssignableFrom(target)) {
+ //} else if(Map.isAssignableFrom(target)) {
+ //} else if(Collection.isAssignableFrom(target)) {
+ //} else if(BigInteger.isAssignableFrom(target)) {
+ //} else {
+ //}
+
+ // FIXME
+ //Template tmpl = DynamicTemplate.create(target);
+ //register(target, tmpl);
+
+ // FIXME
+ CustomPacker.register(target, DynamicPacker.create(target));
+ CustomConverter.register(target, DynamicConverter.create(target));
+ CustomUnpacker.register(target, DynamicUnpacker.create(target));
+ }
- //public static void register(Class<?> target, Template tmpl); // TODO
+ public static void register(Class<?> target, Template tmpl) {
+ CustomPacker.register(target, tmpl);
+ CustomConverter.register(target, tmpl);
+ CustomUnpacker.register(target, tmpl);
+ }
- //public static void registerPacker(Class<?> target, MessagePacker packer); // TODO
+ public static void registerPacker(Class<?> target, MessagePacker packer) {
+ CustomPacker.register(target, packer);
+ }
- //public static void registerConverter(Class<?> target, MessageConverter converter); // TODO
+ public static void registerConverter(Class<?> target, MessageConverter converter) {
+ CustomConverter.register(target, converter);
+ }
- //public static void registerUnpacker(Class<?> target, MessageUnpacker unpacker); // TODO
+ public static void registerUnpacker(Class<?> target, MessageUnpacker unpacker) {
+ CustomUnpacker.register(target, unpacker);
+ }
}