test_class.declarator: perRequestObjectFactory
test_class.modifier: private
test_class.original_string: private PerRequestObjectFactory perRequestObjectFactory;
test_class.type: PerRequestObjectFactory
test_class.var_name: perRequestObjectFactory
test_class.declarator: applicationContext
test_class.modifier: private
test_class.original_string: private ApplicationContext    applicationContext;
test_class.type: ApplicationContext
test_class.var_name: applicationContext
test_class.declarator: constructorDescriptor
test_class.modifier: private
test_class.original_string: private ConstructorDescriptor constructorDescriptor;
test_class.type: ConstructorDescriptor
test_class.var_name: constructorDescriptor
test_class.declarator: fieldInjector
test_class.modifier: private
test_class.original_string: private FieldInjector         fieldInjector;
test_class.type: FieldInjector
test_class.var_name: fieldInjector
test_class.declarator: lifecycleComponents = new ArrayList<>()
test_class.modifier: private
test_class.original_string: private List<LifecycleComponent> lifecycleComponents = new ArrayList<>();
test_class.type: List<LifecycleComponent>
test_class.var_name: lifecycleComponents
test_class.file: everrest-core/src/test/java/org/everrest/core/PerRequestObjectFactoryTest.java
test_class.identifier: PerRequestObjectFactoryTest
test_case.body: @Test
      public void injectsFields() throws Exception {
          Object instance = new Object();
          when(constructorDescriptor.createInstance(applicationContext)).thenReturn(instance);
          perRequestObjectFactory.getInstance(applicationContext);
  
          verify(fieldInjector).inject(instance, applicationContext);
      }
test_case.class_method_signature: PerRequestObjectFactoryTest.injectsFields()
test_case.full_signature: @Test public void injectsFields()
test_case.identifier: injectsFields
test_case.invocations: thenReturn when createInstance getInstance inject verify
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void injectsFields()
focal_class.declarator: model
focal_class.modifier: protected final
focal_class.original_string: protected final T model;
focal_class.type: T
focal_class.var_name: model
focal_class.file: everrest-core/src/main/java/org/everrest/core/PerRequestObjectFactory.java
focal_class.identifier: PerRequestObjectFactory
focal_class.interfaces: implements ObjectFactory<T>
focal_class.class_method_signature: PerRequestObjectFactory.PerRequestObjectFactory(T model)
focal_class.full_signature: public  PerRequestObjectFactory(T model)
focal_class.identifier: PerRequestObjectFactory
focal_class.modifiers: public
focal_class.parameters: (T model)
focal_class.signature:  PerRequestObjectFactory(T model)
focal_class.class_method_signature: PerRequestObjectFactory.getInstance(ApplicationContext context)
focal_class.full_signature: @Override public Object getInstance(ApplicationContext context)
focal_class.identifier: getInstance
focal_class.modifiers: @Override public
focal_class.parameters: (ApplicationContext context)
focal_class.return: Object
focal_class.signature: Object getInstance(ApplicationContext context)
focal_class.class_method_signature: PerRequestObjectFactory.doPostConstruct(Object object, ApplicationContext context)
focal_class.full_signature: protected final void doPostConstruct(Object object, ApplicationContext context)
focal_class.identifier: doPostConstruct
focal_class.modifiers: protected final
focal_class.parameters: (Object object, ApplicationContext context)
focal_class.return: void
focal_class.signature: void doPostConstruct(Object object, ApplicationContext context)
focal_class.class_method_signature: PerRequestObjectFactory.getObjectModel()
focal_class.full_signature: @Override public T getObjectModel()
focal_class.identifier: getObjectModel
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: T
focal_class.signature: T getObjectModel()
focal_method.body: @Override
      public Object getInstance(ApplicationContext context) {
          ConstructorDescriptor constructorDescriptor = model.getConstructorDescriptors().get(0);
          Object object = constructorDescriptor.createInstance(context);
  
          List<FieldInjector> fieldInjectors = model.getFieldInjectors();
          if (fieldInjectors != null && fieldInjectors.size() > 0) {
              for (FieldInjector injector : fieldInjectors) {
                  injector.inject(object, context);
              }
          }
          doPostConstruct(object, context);
          return object;
      }
focal_method.class_method_signature: PerRequestObjectFactory.getInstance(ApplicationContext context)
focal_method.full_signature: @Override public Object getInstance(ApplicationContext context)
focal_method.identifier: getInstance
focal_method.invocations: get getConstructorDescriptors createInstance getFieldInjectors size inject doPostConstruct
focal_method.modifiers: @Override public
focal_method.parameters: (ApplicationContext context)
focal_method.return: Object
focal_method.signature: Object getInstance(ApplicationContext context)