Class EntityInspectorImpl

java.lang.Object
org.glassfish.jersey.message.filtering.EntityInspectorImpl
All Implemented Interfaces:
EntityInspector

@Singleton final class EntityInspectorImpl extends Object implements EntityInspector
Class responsible for inspecting entity classes. This class invokes all available entity processors in different contexts.
  • Field Details

  • Constructor Details

    • EntityInspectorImpl

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

    • inspect

      public void inspect(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(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 Map<String,Method> inspectEntityProperties(Class<?> entityClass, EntityGraph graph, Set<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(Map<String,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.