Mercurial > hg > Members > nobuyasu > PracticeJava
view src/ie/oshiro/messagepack/practice/MSInterFaceTest.java @ 3:5b77974d641b
add ListValue.java
author | one |
---|---|
date | Sat, 08 Jun 2013 20:43:52 +0900 |
parents | 79c8067c34ec |
children |
line wrap: on
line source
package ie.oshiro.messagepack.practice; import java.io.IOException; import java.util.LinkedList; import org.msgpack.MessagePack; import org.msgpack.template.ListTemplate; import org.msgpack.template.ValueTemplate; import org.msgpack.type.Value; import java.util.List; public class MSInterFaceTest { @SuppressWarnings("unchecked") public static void main(String[] args) throws IOException { /* No Error : Int Array, Class Array */ MessagePack msgpack = new MessagePack(); MyClass m = new MyClass(5); m.setIntArray(new int[]{8,9,10}); MyClass[] myClassArray = {new MyClass(11), new MyClass(12)}; m.setMyClassArray(myClassArray); Value v = msgpack.unconvert(m); MyClass mm = (MyClass)msgpack.convert(v, MyClass.class); System.out.println("mm.getNum() = " + mm.getNum()); int[] intArray = mm.getIntArray(); for (int i=0; i<intArray.length; i++) { System.out.println("intArray["+i+"] = "+ intArray[i]); } MyClass[] myClassArray2 =mm.getMyClassArray(); for (int i=0; i<myClassArray2.length; i++) { System.out.println("myClassArray2 getNum() : "+ myClassArray2[i].getNum()); } /* No Error : List*/ LinkedList<MyClass> list = new LinkedList<MyClass>(); list.add(new MyClass(1)); list.add(new MyClass(2)); list.add(new MyClass(3)); MessagePack msgpack2 = new MessagePack(); byte[] bytes; bytes = msgpack2.write(list); msgpack2.register(List.class, new ListTemplate(ValueTemplate.getInstance())); for(Value v2: (List<Value>) msgpack2.read(bytes, List.class)) { MyClass m2 = msgpack2.convert(v2, MyClass.class); System.out.println("m2 = "+m2.getNum()); } /* Error: Iterable in Class */ MessagePack msgpack3 = new MessagePack(); MyClass m3 = new MyClass(3); LinkedList<Value> list2 = new LinkedList<Value>(); list2.add(v); m3.setIter(list2); /* convert into unknown type is invalid */ byte[] bytes2; bytes2 = msgpack3.write(m3); MyClass mm3 = msgpack3.read(bytes2, MyClass.class); // Value v3 = msgpack.unconvert(m3); // MyClass mm3 = (MyClass)msgpack.convert(v3, MyClass.class); System.out.println("mm3.getNum() = "+mm3.getNum()); } }