public void callValidator(final AQuery $, final Ajax ajax) throws VolleyError { Map<Annotation, java.lang.reflect.Method> method = ReflectUtils.getMethodsByAnnotation(Handler.class, getClass()); for (Map.Entry<Annotation, java.lang.reflect.Method> entry : method.entrySet()) { try { entry .getValue() .invoke( this, ReflectUtils.fillParamsByAnnotations( entry.getValue(), new ReflectUtils.ParamInjector() { @Override public Object onInject( Class paramType, List<? extends Annotation> annotations, int position) { try { return scanAnnotation($, paramType, annotations.get(0), ajax); } catch (Exception e) { $.log.i(e); return null; } } })); } catch (InvocationTargetException e) { if (e.getTargetException() instanceof VolleyError) { throw ((VolleyError) e.getTargetException()); } $.log.i(e.getTargetException()); } catch (Exception e) { $.log.i(e); } } }
public void callModelValidator(final AQuery $, final Ajax ajax) throws VolleyError { Map<Annotation, java.lang.reflect.Method> methodMap = ReflectUtils.getMethodsByAnnotation(Handler.class, getClass()); for (Map.Entry<Annotation, java.lang.reflect.Method> entry : methodMap.entrySet()) { java.lang.reflect.Method method = entry.getValue(); for (int i = 0; i < method.getParameterTypes().length; i++) { Class type = method.getParameterTypes()[i]; if (method.getParameterAnnotations()[i][0] instanceof ResponseBody && type != String.class && type != byte[].class && Checker.class.isAssignableFrom(type)) { try { Checker checker = (Checker) new Gson().fromJson(new String(ajax.getResponseBody(), "utf-8"), type); if (checker.getValidator().validate()) { $.log.i("has warning"); } } catch (UnsupportedEncodingException e) { $.log.i(e); throw new IllegalDataError("Unsupported encoding bytes"); } } } } }