summaryrefslogtreecommitdiffstats
path: root/sandbox/wjaniszewski/binding-erlang-runtime/src/main/java/org/apache/tuscany/sca/binding/erlang/impl/types/TupleTypeHelper.java
diff options
context:
space:
mode:
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.java76
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;
+ }
}