@Override public boolean resolveInjectValue(BeanDefinition bd, Object bean, ReflectValued v, Annotation a, Out<Object> value) { if(!(v.getType().equals(Dyna.class) || v.getType().equals(Dao.class))) { return false; } if(!bd.isPrimary()) { return false; } if (v.getType().equals(Dao.class)) { value.set(dao); return true; } Class<?>[] types = Types.getActualTypeArguments(v.getGenericType()); if (types.length != 1) { return false; } Class<?> type = types[0]; if (type.equals(Dao.class)) { value.set(dao); return true; } return false; }
Class<?> valueType = Types.getActualTypeArguments(genericType)[1]; if(valueType.equals(Object.class)) { return;
protected void resolveResourceType(App app, ApiConfigurator c , Route route) { Class<?> resourceType = null; Resource resource = route.getAction().searchAnnotation(Resource.class); if(null != resource) { resourceType = resource.value(); } if(null != route.getAction().getController()) { ResourceWrapper rw = route.getAction().getControllerAnnotation(ResourceWrapper.class); if(null != rw) { Class<?> cls = route.getAction().getController().getClass(); if(cls.getTypeParameters().length == 1) { resourceType = cls.getTypeParameters()[0].getGenericDeclaration(); }else { Class<?>[] types = Types.getActualTypeArguments(cls.getGenericSuperclass()); if(types.length == 1) { resourceType = types[0]; } } } } if(null != resourceType) { c.setResourceType(route, resourceType); resolveResourcePermissions(app, c, route, resourceType); } }