retObj = getParamObjectArray(type, paramBytes);
// Set
// e.g. Set<String> - type = Set.class, genTypeVal = String.class
- } else if (type == Set.class) {
- retObj = getParamSetObject(genTypeVal, paramBytes);
+ /*} else if (type == Set.class) {
+ retObj = getParamSetObject(genTypeVal, paramBytes);*/
// List
} else if (type == List.class) {
retObj = getParamListObject(genTypeVal, paramBytes);
// Map
// e.g. Map<String,Integer> - type = Map.class, genTypeKey = String.class, genTypeVal = Integer.class
- } else if (type == Map.class) {
- retObj = getParamMapObject(genTypeKey, genTypeVal, paramBytes);
+ /*} else if (type == Map.class) {
+ retObj = getParamMapObject(genTypeKey, genTypeVal, paramBytes);*/
} else
throw new Error("IoTRMIUtil: Unrecognizable type: " + type.getName());
} else if ( (type == String[].class) ||
(type == String.class)) {
retObj = (Object) byteArrayToStringArray(paramBytes);
+ } else if (type.isArray()) {
+ // This is an array but it's more than 1 dimension, e.g. 2-dimensional,
+ // 3-dimensional, etc.
+ // for loop to check inner array perhaps using object
+ // then call this function recursively
+ // combine the result altogether
+
} else
throw new Error("IoTRMIUtil: Unrecognizable type: " + type.getName());
} else if (obj.getClass().isArray()) {
retObjBytes = getArrayObjectBytes(obj);
// Set and its implementations
- } else if (obj instanceof Set<?>) {
- retObjBytes = setToByteArray((Set<?>) obj);
+ /*} else if (obj instanceof Set<?>) {
+ retObjBytes = setToByteArray((Set<?>) obj);*/
// List and its implementations
} else if (obj instanceof List<?>) {
retObjBytes = listToByteArray((List<?>) obj);
// Map and its implementations
- } else if (obj instanceof Map<?,?>) {
- retObjBytes = mapToByteArray((Map<?,?>) obj);
+ /*} else if (obj instanceof Map<?,?>) {
+ retObjBytes = mapToByteArray((Map<?,?>) obj);*/
} else
throw new Error("IoTRMIUtil: Unrecognizable object: " + obj.getClass());
// Collection data structures
- public static byte[] setToByteArray(Set<?> set) {
+ /*public static byte[] setToByteArray(Set<?> set) {
// Find out the class of the type
Iterator<?> it = set.iterator();
byte[] arrObjBytes = getArrayObjectBytes(arrObj);
return arrObjBytes;
- }
+ }*/
public static byte[] listToByteArray(List<?> list) {
// Convert keySet of a Map
- public static byte[] mapKeyToByteArray(Map<?,?> map) {
+ /*public static byte[] mapKeyToByteArray(Map<?,?> map) {
// Map<K,V>
// Find out the class of the type for K
throw new Error("IoTRMIUtil: Unrecognizable object: " + genericType.getSimpleName());
return retSet;
- }
+ }*/
// Get a List object from bytes
// Get a Key array for Map object from bytes
- public static Object getParamMapObject(Class<?> genTypeKey, Class<?> genTypeVal, byte[] paramBytes) {
+ /*public static Object getParamMapObject(Class<?> genTypeKey, Class<?> genTypeVal, byte[] paramBytes) {
// The complete set of bytes always consists of all keys followed by all values - <K,V> pairs
// Calculate number of elements
IoTRMITypes.arraysToMap(retMap, retObjKey, retObjVal);
return retMap;
- }
+ }*/
/**
//boolean data = false;
//char data = 'c';
- float data = 1234.123f;
+// float data = 1234.123f;
//double data = 12.51231234;
//long data = 1234l;
//short data = 1234;
//int data = 12345678;
- byte[] result = floatToByteArray(data);
- System.out.println("Result: " + Arrays.toString(result));
- System.out.println("Converted back: " + byteArrayToFloat(result));
+// byte[] result = floatToByteArray(data);
+// System.out.println("Result: " + Arrays.toString(result));
+// System.out.println("Converted back: " + byteArrayToFloat(result));
+
+ //String str = "methodA(int,string,float,double,double)";
+ //int hash = str.hashCode();
+ //System.out.println("Hash value: " + hash);
+
+ int[][] multi = new int[][] {
+ { 1, 2, 3 },
+ { 6, 5, 4},
+ { 11, 17, 13}
+ };
+
+ for (int[] inner : multi ) {
+ System.out.println("New row!");
+ for (Object i : inner) {
+ System.out.println("Element i: " + i);
+ }
+ System.out.println("Change row!\n");
+ }
+
+ int[] int1 = { 1, 2, 3 };
+ int[] int2 = { 6, 5, 4 };
+ int[] result = new int[int1.length + int2.length];
+ System.arraycopy(int1, 0, result, 0, int1.length);
+ System.arraycopy(int2, 0, result, int1.length, int2.length);
- String str = "methodA(int,string,float,double,double)";
- int hash = str.hashCode();
- System.out.println("Hash value: " + hash);
+ System.out.println("Combined array: " + Arrays.toString(result));
}
}