1 | private static BasicSetter getSetterOrNull(Class theClass, String propertyName) {↵ | | 1 | private static BasicGetter getGetterOrNull(Class theClass, String propertyName) {↵
|
|
2 | if (theClass==Object.class || theClass==null) return null;↵ | | 2 | if (theClass==Object.class || theClass==null) return null;↵
|
|
3 | Method method = setterMethod(theClass, propertyName);↵ | | 3 | Method method = getterMethod(theClass, propertyName);↵
|
|
4 | if (method!=null) {↵ | | 4 | if (method!=null) {↵
|
5 | if ( !ReflectHelper.isPublic(theClass, method) ) method.setAccessible(true);↵ | | 5 | if ( !ReflectHelper.isPublic(theClass, method) ) method.setAccessible(true);↵
|
6 | return new BasicSetter(theClass, method, propertyName);↵ | | 6 | return new BasicGetter(theClass, method, propertyName);↵
|
7 | }↵ | | 7 | }↵
|
8 | else {↵ | | 8 | else {↵
|
9 | BasicSetter setter = getSetterOrNull( theClass.getSuperclass(), propertyName );↵ | | 9 | BasicGetter getter = getGetterOrNull( theClass.getSuperclass(), propertyName );↵
|
10 | if (setter==null) {↵ | | 10 | if (getter==null) {↵
|
11 | Class[] interfaces = theClass.getInterfaces();↵ | | 11 | Class[] interfaces = theClass.getInterfaces();↵
|
12 | for ( int i=0; setter==null && i<interfaces.length; i++ ) {↵ | | 12 | for ( int i=0; getter==null && i<interfaces.length; i++ ) {↵
|
13 | setter=getSetterOrNull( interfaces[i], propertyName );↵ | | 13 | getter=getGetterOrNull( interfaces[i], propertyName );↵
|
14 | }↵ | | 14 | }↵
|
15 | }↵ | | 15 | }↵
|
16 | return setter;↵ | | 16 | return getter;↵
|
17 | | | 17 |
|