Search in sources :

Example 1 with GetFieldInvoker

use of org.apache.ibatis.reflection.invoker.GetFieldInvoker in project mybatis-3 by mybatis.

the class MetaClass method getGenericGetterType.

private Type getGenericGetterType(String propertyName) {
    try {
        Invoker invoker = reflector.getGetInvoker(propertyName);
        if (invoker instanceof MethodInvoker) {
            Field _method = MethodInvoker.class.getDeclaredField("method");
            _method.setAccessible(true);
            Method method = (Method) _method.get(invoker);
            return TypeParameterResolver.resolveReturnType(method, reflector.getType());
        } else if (invoker instanceof GetFieldInvoker) {
            Field _field = GetFieldInvoker.class.getDeclaredField("field");
            _field.setAccessible(true);
            Field field = (Field) _field.get(invoker);
            return TypeParameterResolver.resolveFieldType(field, reflector.getType());
        }
    } catch (NoSuchFieldException e) {
    } catch (IllegalAccessException e) {
    }
    return null;
}
Also used : Field(java.lang.reflect.Field) GetFieldInvoker(org.apache.ibatis.reflection.invoker.GetFieldInvoker) Invoker(org.apache.ibatis.reflection.invoker.Invoker) GetFieldInvoker(org.apache.ibatis.reflection.invoker.GetFieldInvoker) MethodInvoker(org.apache.ibatis.reflection.invoker.MethodInvoker) Method(java.lang.reflect.Method) MethodInvoker(org.apache.ibatis.reflection.invoker.MethodInvoker)

Example 2 with GetFieldInvoker

use of org.apache.ibatis.reflection.invoker.GetFieldInvoker in project mybatis-3 by mybatis.

the class Reflector method addGetField.

private void addGetField(Field field) {
    if (isValidPropertyName(field.getName())) {
        getMethods.put(field.getName(), new GetFieldInvoker(field));
        Type fieldType = TypeParameterResolver.resolveFieldType(field, type);
        getTypes.put(field.getName(), typeToClass(fieldType));
    }
}
Also used : GetFieldInvoker(org.apache.ibatis.reflection.invoker.GetFieldInvoker) GenericArrayType(java.lang.reflect.GenericArrayType) ParameterizedType(java.lang.reflect.ParameterizedType) Type(java.lang.reflect.Type)

Aggregations

GetFieldInvoker (org.apache.ibatis.reflection.invoker.GetFieldInvoker)2 Field (java.lang.reflect.Field)1 GenericArrayType (java.lang.reflect.GenericArrayType)1 Method (java.lang.reflect.Method)1 ParameterizedType (java.lang.reflect.ParameterizedType)1 Type (java.lang.reflect.Type)1 Invoker (org.apache.ibatis.reflection.invoker.Invoker)1 MethodInvoker (org.apache.ibatis.reflection.invoker.MethodInvoker)1