diff options
Diffstat (limited to 'sandbox/wjaniszewski/binding-erlang-runtime/src/main/java/org/apache/tuscany/sca/binding/erlang/impl/types/TupleTypeHelper.java')
-rw-r--r-- | sandbox/wjaniszewski/binding-erlang-runtime/src/main/java/org/apache/tuscany/sca/binding/erlang/impl/types/TupleTypeHelper.java | 76 |
1 files changed, 41 insertions, 35 deletions
diff --git a/sandbox/wjaniszewski/binding-erlang-runtime/src/main/java/org/apache/tuscany/sca/binding/erlang/impl/types/TupleTypeHelper.java b/sandbox/wjaniszewski/binding-erlang-runtime/src/main/java/org/apache/tuscany/sca/binding/erlang/impl/types/TupleTypeHelper.java index 86a78ccf87..3b5b30ac4d 100644 --- a/sandbox/wjaniszewski/binding-erlang-runtime/src/main/java/org/apache/tuscany/sca/binding/erlang/impl/types/TupleTypeHelper.java +++ b/sandbox/wjaniszewski/binding-erlang-runtime/src/main/java/org/apache/tuscany/sca/binding/erlang/impl/types/TupleTypeHelper.java @@ -26,43 +26,49 @@ import java.util.List; import com.ericsson.otp.erlang.OtpErlangObject; import com.ericsson.otp.erlang.OtpErlangTuple; +/** + * @version $Rev$ $Date$ + */ public class TupleTypeHelper implements TypeHelper { - public OtpErlangObject toErlang(Object object) { - Class<?> forClass = object.getClass(); - List<OtpErlangObject> tupleMembers = new ArrayList<OtpErlangObject>(); - Field[] fields = forClass.getFields(); - for (int i = 0; i < fields.length; i++) { - Object[] args; - try { - args = new Object[] {fields[i].get(object)}; - OtpErlangObject member = TypeHelpersProxy.toErlang(args); - tupleMembers.add(member); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - OtpErlangObject result = new OtpErlangTuple(tupleMembers.toArray(new OtpErlangObject[tupleMembers.size()])); - return result; - } + public OtpErlangObject toErlang(Object object) { + Class<?> forClass = object.getClass(); + List<OtpErlangObject> tupleMembers = new ArrayList<OtpErlangObject>(); + Field[] fields = forClass.getFields(); + for (int i = 0; i < fields.length; i++) { + Object[] args; + try { + args = new Object[] { fields[i].get(object) }; + OtpErlangObject member = TypeHelpersProxy.toErlang(args); + tupleMembers.add(member); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + OtpErlangObject result = new OtpErlangTuple(tupleMembers + .toArray(new OtpErlangObject[tupleMembers.size()])); + return result; + } - public Object toJava(OtpErlangObject object, Class<?> forClass) throws Exception { - Object result = null; - OtpErlangTuple tuple = (OtpErlangTuple)object; - Field[] fields = forClass.getFields(); - if (fields.length != tuple.arity()) { - // TODO: received tuple with different element count - wrong - // message, exception! - } - result = forClass.newInstance(); - for (int i = 0; i < tuple.arity(); i++) { - OtpErlangObject tupleMember = tuple.elementAt(i); - Object javaMember = TypeHelpersProxy.toJava(tupleMember, fields[i].getType()); - fields[i].setAccessible(true); - fields[i].set(result, javaMember); - } - return result; - } + public Object toJava(OtpErlangObject object, Class<?> forClass) + throws Exception { + Object result = null; + OtpErlangTuple tuple = (OtpErlangTuple) object; + Field[] fields = forClass.getFields(); + if (fields.length != tuple.arity()) { + // TODO: received tuple with different element count - wrong + // message, exception! + } + result = forClass.newInstance(); + for (int i = 0; i < tuple.arity(); i++) { + OtpErlangObject tupleMember = tuple.elementAt(i); + Object javaMember = TypeHelpersProxy.toJava(tupleMember, fields[i] + .getType()); + fields[i].setAccessible(true); + fields[i].set(result, javaMember); + } + return result; + } } |