diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-10-24 20:46:22 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-10-24 20:46:22 +0900 |
| commit | 7ac4ad3e38d5537e83a36f2d9fb9a5ce872c0c57 (patch) | |
| tree | c47572c05ff65ac0d2962bd1523c6cd3220911ae /java/src/main | |
| parent | 0a345cb12bb77c7afc5b29cc4568f717e7862ff6 (diff) | |
| download | msgpack-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.java | 43 |
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); + } } |
