1 package org.synchronoss.cpo.jdbc.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 JdbcResultSetCpoData extends ResultSetCpoData {
33
34
35
36
37
38
39
40
41
42 public JdbcResultSetCpoData(
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 Object javaObject = null;
50 switch (methodMapEntry.getMethodType()) {
51 case JdbcMethodMapEntry.METHOD_TYPE_BASIC:
52 case JdbcMethodMapEntry.METHOD_TYPE_STREAM:
53 case JdbcMethodMapEntry.METHOD_TYPE_READER:
54 javaObject = methodMapEntry.getRsGetter().invoke(getRs(), getIndex());
55 break;
56 case JdbcMethodMapEntry.METHOD_TYPE_OBJECT:
57 javaObject =
58 methodMapEntry.getRsGetter().invoke(getRs(), getIndex(), methodMapEntry.getJavaClass());
59 break;
60 }
61 return javaObject;
62 }
63 }