EntityBinding { 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; } private  EntityBinding();  EntityBinding(EntityDictionary dictionary, Class<?> cls, String type, String name); List<AccessibleObject> getAllFields(); static String getFieldName(AccessibleObject fieldOrMethod); static boolean isRequestScopeableMethod(Method method); static boolean isComputedMethod(Method method); static Class<?> getFieldType(Class<?> parentClass,
                                         AccessibleObject fieldOrMethod); static Class<?> getFieldType(Class<?> parentClass,
                                         AccessibleObject fieldOrMethod,
                                         Optional<Integer> index); void bindTrigger(Class<? extends Annotation> annotationClass,
                            String fieldOrMethodName,
                            LifeCycleHook callback); void bindTrigger(Class<? extends Annotation> annotationClass,
                            LifeCycleHook callback); Collection<LifeCycleHook> getTriggers(Class<A> annotationClass, String fieldName); Collection<LifeCycleHook> getTriggers(Class<A> annotationClass); A getAnnotation(Class<A> annotationClass); A getMethodAnnotation(Class<A> annotationClass, String method); final Class<?> entityClass; final String jsonApiType; final String entityName; @Getter
    public boolean idGenerated; final EntityPermissions entityPermissions; final List<String> attributes; final List<String> relationships; final List<Class<?>> inheritedTypes; final ConcurrentLinkedDeque<String> attributesDeque; final ConcurrentLinkedDeque<String> relationshipsDeque; final ConcurrentHashMap<String, RelationshipType> relationshipTypes; final ConcurrentHashMap<String, String> relationshipToInverse; final ConcurrentHashMap<String, CascadeType[]> relationshipToCascadeTypes; final ConcurrentHashMap<String, AccessibleObject> fieldsToValues; final MultiValuedMap<Pair<Class, String>, LifeCycleHook> fieldsToTriggers; final MultiValuedMap<Class, LifeCycleHook> classToTriggers; final ConcurrentHashMap<String, Class<?>> fieldsToTypes; final ConcurrentHashMap<String, String> aliasesToFields; final ConcurrentHashMap<Method, Boolean> requestScopeableMethods; final ConcurrentHashMap<Object, Annotation> annotations; static final EntityBinding EMPTY_BINDING; }
@Test public void testGetAllFields() throws Exception { List<AccessibleObject> allFields = entityBinding.getAllFields(); assertEquals(2, allFields.size()); assertEquals(allFields.get(0), ChildClass.class.getDeclaredField("childField")); assertEquals(allFields.get(1), ParentClass.class.getDeclaredField("parentField")); }