Class EntityInspectorImpl

    • Constructor Detail

      • EntityInspectorImpl

        @Inject
        public EntityInspectorImpl​(InjectionManager injectionManager)
        Constructor expecting InjectionManager to be injected.
        Parameters:
        injectionManager - injection manager to be injected.
    • Method Detail

      • inspect

        public void inspect​(java.lang.Class<?> entityClass,
                            boolean forWriter)
        Description copied from interface: EntityInspector
        Inspect entity class and create/update EntityGraph for reader/writer. The entity graph will be used to create entity-filtering object which is requested by #createFilteringObject(...).

        Method recursively inspects entity fields classes suitable for inspecting.

        Method uses EntityProcessors for inspecting.

        Specified by:
        inspect in interface EntityInspector
        Parameters:
        entityClass - entity class to be examined.
        forWriter - flag determining whether the class should be examined for reader or writer.
      • inspectEntityClass

        private boolean inspectEntityClass​(java.lang.Class<?> entityClass,
                                           EntityGraph graph,
                                           boolean forWriter)
        Invoke available EntityProcessors on given entity class.
        Parameters:
        entityClass - entity class to be examined.
        graph - entity graph to be modified by examination.
        forWriter - flag determining whether the class should be examined for reader or writer.
        Returns:
        true if the inspecting should be roll-backed, false otherwise.
      • inspectEntityProperties

        private java.util.Map<java.lang.String,​java.lang.reflect.Method> inspectEntityProperties​(java.lang.Class<?> entityClass,
                                                                                                       EntityGraph graph,
                                                                                                       java.util.Set<java.lang.Class<?>> inspect,
                                                                                                       boolean forWriter)
        Invoke available EntityProcessors on fields of given entity class. Method returns a map (fieldName, method) of unprocessed property accessors (getters/setters) and fills inspect set with entity classes that should be further processed.
        Parameters:
        entityClass - entity class to obtain properties to be examined.
        graph - entity graph to be modified by examination.
        inspect - non-null set of classes to-be-examined.
        forWriter - flag determining whether the class should be examined for reader or writer.
        Returns:
        map of unprocessed property accessors.
      • inspectStandaloneAccessors

        private void inspectStandaloneAccessors​(java.util.Map<java.lang.String,​java.lang.reflect.Method> unprocessedAccessors,
                                                EntityGraph graph,
                                                boolean forWriter)
        Invoke available EntityProcessors on accessors (getter/setter) that has no match in classes' fields.
        Parameters:
        unprocessedAccessors - map of unprocessed accessors.
        graph - entity graph to be modified by examination.
        forWriter - flag determining whether the class should be examined for reader or writer.