1 package org.synchronoss.cpo.cassandra.meta;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import java.lang.reflect.InvocationTargetException;
26 import org.synchronoss.cpo.core.meta.MethodMapEntry;
27 import org.synchronoss.cpo.core.meta.MethodMapper;
28 import org.synchronoss.cpo.core.meta.ResultSetCpoData;
29 import org.synchronoss.cpo.core.meta.domain.CpoAttribute;
30
31
32 public class CassandraResultSetCpoData extends ResultSetCpoData {
33
34
35
36
37
38
39
40
41
42 public CassandraResultSetCpoData(
43 MethodMapper<?> methodMapper, Object rs, CpoAttribute cpoAttribute, int index) {
44 super(methodMapper, rs, cpoAttribute, index);
45 }
46
47 protected Object invokeGetterImpl(CpoAttribute cpoAttribute, MethodMapEntry<?, ?> methodMapEntry)
48 throws IllegalAccessException, InvocationTargetException {
49 CassandraCpoAttribute cassandraCpoAttribute = (CassandraCpoAttribute) cpoAttribute;
50
51 Object javaObject = null;
52 switch (methodMapEntry.getMethodType()) {
53 case CassandraMethodMapEntry.METHOD_TYPE_BASIC:
54 javaObject = methodMapEntry.getRsGetter().invoke(getRs(), getIndex());
55 break;
56 case CassandraMethodMapEntry.METHOD_TYPE_ONE:
57 javaObject =
58 methodMapEntry
59 .getRsGetter()
60 .invoke(getRs(), getIndex(), cassandraCpoAttribute.getValueTypeClass());
61 break;
62 case CassandraMethodMapEntry.METHOD_TYPE_TWO:
63 javaObject =
64 methodMapEntry
65 .getRsGetter()
66 .invoke(
67 getRs(),
68 getIndex(),
69 cassandraCpoAttribute.getKeyTypeClass(),
70 cassandraCpoAttribute.getValueTypeClass());
71 break;
72 }
73 return javaObject;
74 }
75 }