From 19fd4e755cd88fc0b108e2c860ebf88394d98f03 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 24 Oct 2010 18:45:58 +0900 Subject: java: removes ReflectionPacker and ReflectionTemplate (replaced by DynamicCodeGen) --- java/src/main/java/org/msgpack/ReflectionBase.java | 26 -------- .../main/java/org/msgpack/ReflectionPacker.java | 49 -------------- .../main/java/org/msgpack/ReflectionTemplate.java | 74 ---------------------- 3 files changed, 149 deletions(-) delete mode 100644 java/src/main/java/org/msgpack/ReflectionBase.java delete mode 100644 java/src/main/java/org/msgpack/ReflectionPacker.java delete mode 100644 java/src/main/java/org/msgpack/ReflectionTemplate.java (limited to 'java/src/main') diff --git a/java/src/main/java/org/msgpack/ReflectionBase.java b/java/src/main/java/org/msgpack/ReflectionBase.java deleted file mode 100644 index 66ec12a..0000000 --- a/java/src/main/java/org/msgpack/ReflectionBase.java +++ /dev/null @@ -1,26 +0,0 @@ -// -// MessagePack for Java -// -// Copyright (C) 2009-2010 FURUHASHI Sadayuki -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -package org.msgpack; - -import java.io.IOException; -import java.lang.reflect.*; - -// FIXME mock-up -abstract class ReflectionBase { -} - diff --git a/java/src/main/java/org/msgpack/ReflectionPacker.java b/java/src/main/java/org/msgpack/ReflectionPacker.java deleted file mode 100644 index 72406aa..0000000 --- a/java/src/main/java/org/msgpack/ReflectionPacker.java +++ /dev/null @@ -1,49 +0,0 @@ -// -// MessagePack for Java -// -// Copyright (C) 2009-2010 FURUHASHI Sadayuki -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -package org.msgpack; - -import java.io.IOException; -import java.lang.reflect.*; - -// FIXME mock-up -public class ReflectionPacker extends ReflectionBase implements MessagePacker { - private Class klass; - - private ReflectionPacker(Class klass) { - this.klass = klass; - } - - static public ReflectionPacker create(Class klass) { - // FIXME code generation: generates subclass of ReflectionPacker - // returned instance will be cached by Packer into CustomPacker - return new ReflectionPacker(klass); - } - - public void pack(Packer pk, Object target) throws IOException { - Field[] fields = klass.getDeclaredFields(); - pk.packArray(fields.length); - try { - for(int i=0; i < fields.length; i++) { - pk.pack(fields[i].get(target)); - } - } catch(IllegalAccessException e) { - throw new MessageTypeException(e.getMessage()); // FIXME - } - } -} - diff --git a/java/src/main/java/org/msgpack/ReflectionTemplate.java b/java/src/main/java/org/msgpack/ReflectionTemplate.java deleted file mode 100644 index 5b49078..0000000 --- a/java/src/main/java/org/msgpack/ReflectionTemplate.java +++ /dev/null @@ -1,74 +0,0 @@ -// -// MessagePack for Java -// -// Copyright (C) 2009-2010 FURUHASHI Sadayuki -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -package org.msgpack; - -import java.io.IOException; -import java.lang.reflect.*; -import org.msgpack.template.ClassTemplate; - -// FIXME mock-up -public class ReflectionTemplate extends ReflectionBase implements Template { - private Class klass; - - private ReflectionTemplate(Class klass) { - this.klass = klass; - } - - static public ReflectionTemplate create(Class klass) { - // FIXME code generation: generates subclass of ReflectionPacker - // returned instance will be cached by ClassTemplate into CustomUnpacker/CustomConverter - return new ReflectionTemplate(klass); - } - - public Object unpack(Unpacker pac) throws IOException, MessageTypeException { - // FIXME optimize it - return convert(pac.unpackObject()); - } - - public Object convert(MessagePackObject from) throws MessageTypeException { - Object obj; - try { - obj = klass.newInstance(); - } catch (IllegalAccessException e) { - throw new MessageTypeException(e.getMessage()); // FIXME - } catch (InstantiationException e) { - throw new MessageTypeException(e.getMessage()); // FIXME - } - - // FIXME check Requred/Optional - - Field[] fields = klass.getDeclaredFields(); - MessagePackObject[] array = from.asArray(); - if(fields.length < array.length) { - throw new MessageTypeException(); - } - - try { - for(int i=0; i < fields.length; i++) { - // FIXME generics getDeclaringClass - Object value = new ClassTemplate(fields[i].getType()).convert(array[i]); - fields[i].set(obj, value); - } - } catch(IllegalAccessException e) { - throw new MessageTypeException(e.getMessage()); // FIXME - } - - return obj; - } -} - -- cgit v1.2.1