package hprose.example.io; import hprose.io.ByteBufferStream; import hprose.io.HproseReader; import hprose.io.HproseWriter; import hprose.io.convert.ConverterFactory; import hprose.io.serialize.SerializerFactory; import hprose.io.unserialize.UnserializerFactory; import hprose.util.StrUtil; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.tuple.ImmutablePair; public class ImmutablePairExam { private static class KeyValue { public String key; public String value; } public static void main(String[] args) throws IOException { ConverterFactory.register(ImmutablePair.class, ImmutablePairConverter.instance); SerializerFactory.register(ImmutablePair.class, ImmutablePairSerializer.instance); UnserializerFactory.register(ImmutablePair.class, ImmutablePairUnserializer.instance); ByteBufferStream stream = new ByteBufferStream(); HproseWriter writer = new HproseWriter(stream.getOutputStream()); writer.serialize(new ImmutablePair("Hello", "World")); User user = new User(); user.name = "Tom"; user.age = 18; writer.serialize(new ImmutablePair("User", user)); Object[] array = new Object[] { "123", "234" }; writer.serialize(array); writer.serialize(array); Map<String, Object> map = new HashMap(); map.put("key", "User2"); map.put("value", user); writer.serialize(map); Map<String, Object> map2 = new HashMap(); map2.put("left", "User3"); map2.put("right", user); writer.serialize(map2); writer.serialize(map2); KeyValue kv = new KeyValue(); kv.key = "111"; kv.value = "222"; writer.serialize(kv); writer.serialize(kv); System.out.println(StrUtil.toString(stream)); stream.flip(); HproseReader reader = new HproseReader(stream.getInputStream()); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); System.out.println(reader.unserialize(ImmutablePair.class)); stream.close(); } }