/** * Filters a list of class Members to instance methods & fields * * @param objects * @param <T> * @return A list of the filtered members */ private <T extends Member> List<T> getInstanceMembers(T[] objects) { return getInstanceMembers(objects, o -> true); }
/** * Filters a list of class Members to instance methods & fields * * @param objects * @param <T> * @return A list of the filtered members */ private <T extends Member> List<T> getInstanceMembers(T[] objects) { return getInstanceMembers(objects, o -> true); }
/** * Get all fields of the entity class, including fields of superclasses (excluding Object) * @return All fields of the EntityBindings entity class and all superclasses (excluding Object) */ public List<AccessibleObject> getAllFields() { List<AccessibleObject> fields = new ArrayList<>(); fields.addAll(getInstanceMembers(entityClass.getDeclaredFields(), (field) -> !field.isSynthetic())); for (Class<?> type : inheritedTypes) { fields.addAll(getInstanceMembers(type.getDeclaredFields(), (field) -> !field.isSynthetic())); } return fields; }
/** * Get all fields of the entity class, including fields of superclasses (excluding Object) * @return All fields of the EntityBindings entity class and all superclasses (excluding Object) */ public List<AccessibleObject> getAllFields() { List<AccessibleObject> fields = new ArrayList<>(); fields.addAll(getInstanceMembers(entityClass.getDeclaredFields(), (field) -> !field.isSynthetic())); for (Class<?> type : inheritedTypes) { fields.addAll(getInstanceMembers(type.getDeclaredFields(), (field) -> !field.isSynthetic())); } return fields; }
getInstanceMembers(cls.getMethods(), (method) -> method.isAnnotationPresent(ComputedAttribute.class) || method.isAnnotationPresent(ComputedRelationship.class) fieldOrMethodList.addAll(getInstanceMembers(cls.getFields())); fieldOrMethodList.addAll(getInstanceMembers(cls.getMethods()));
getInstanceMembers(cls.getMethods(), (method) -> method.isAnnotationPresent(ComputedAttribute.class) || method.isAnnotationPresent(ComputedRelationship.class) fieldOrMethodList.addAll(getInstanceMembers(cls.getFields())); fieldOrMethodList.addAll(getInstanceMembers(cls.getMethods()));