private void getExceptionProperties(C exception, TreeMap<String, A> fields, boolean decapitalize) { C sc = nav.getSuperClass(exception); if (sc != null) { getExceptionProperties(sc, fields, decapitalize); } Collection<? extends M> methods = nav.getDeclaredMethods(exception); for (M method : methods) { // 2.1.x is doing the following: no final static, transient, non-public // transient cannot used as modifier for method, so not doing it now if (!nav.isPublicMethod(method) || (nav.isStaticMethod(method) && nav.isFinalMethod(method))) { continue; } if (!nav.isPublicMethod(method)) { continue; } String name = nav.getMethodName(method); if (!(name.startsWith("get") || name.startsWith("is")) || skipProperties.contains(name) || name.equals("get") || name.equals("is")) { // Don't bother with invalid propertyNames. continue; } T returnType = getSafeType(nav.getReturnType(method)); if (nav.getMethodParameters(method).length == 0) { String fieldName = name.startsWith("get") ? name.substring(3) : name.substring(2); if (decapitalize) fieldName = StringUtils.decapitalize(fieldName); fields.put(fieldName, factory.createWrapperBeanMember(returnType, fieldName, Collections.<Annotation>emptyList())); } } }
private void getExceptionProperties(C exception, TreeMap<String, A> fields, boolean decapitalize) { C sc = nav.getSuperClass(exception); if (sc != null) { getExceptionProperties(sc, fields, decapitalize); } Collection<? extends M> methods = nav.getDeclaredMethods(exception); for (M method : methods) { // 2.1.x is doing the following: no final static, transient, non-public // transient cannot used as modifier for method, so not doing it now if (!nav.isPublicMethod(method) || (nav.isStaticMethod(method) && nav.isFinalMethod(method))) { continue; } if (!nav.isPublicMethod(method)) { continue; } String name = nav.getMethodName(method); if (!(name.startsWith("get") || name.startsWith("is")) || skipProperties.contains(name) || name.equals("get") || name.equals("is")) { // Don't bother with invalid propertyNames. continue; } T returnType = getSafeType(nav.getReturnType(method)); if (nav.getMethodParameters(method).length == 0) { String fieldName = name.startsWith("get") ? name.substring(3) : name.substring(2); if (decapitalize) fieldName = StringUtils.decapitalize(fieldName); fields.put(fieldName, factory.createWrapperBeanMember(returnType, fieldName, Collections.<Annotation>emptyList())); } } }
private void getExceptionProperties(C exception, TreeMap<String, A> fields, boolean decapitalize) { C sc = nav.getSuperClass(exception); if (sc != null) { getExceptionProperties(sc, fields, decapitalize); } Collection<? extends M> methods = nav.getDeclaredMethods(exception); for (M method : methods) { // 2.1.x is doing the following: no final static, transient, non-public // transient cannot used as modifier for method, so not doing it now if (!nav.isPublicMethod(method) || (nav.isStaticMethod(method) && nav.isFinalMethod(method))) { continue; } if (!nav.isPublicMethod(method)) { continue; } String name = nav.getMethodName(method); if (!(name.startsWith("get") || name.startsWith("is")) || skipProperties.contains(name) || name.equals("get") || name.equals("is")) { // Don't bother with invalid propertyNames. continue; } T returnType = getSafeType(nav.getReturnType(method)); if (nav.getMethodParameters(method).length == 0) { String fieldName = name.startsWith("get") ? name.substring(3) : name.substring(2); if (decapitalize) fieldName = StringUtils.decapitalize(fieldName); fields.put(fieldName, factory.createWrapperBeanMember(returnType, fieldName, Collections.<Annotation>emptyList())); } } }