test_class.declarator: thrown = ExpectedException.none()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public ExpectedException thrown = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: thrown
test_class.declarator: parameterResolverFactory
test_class.modifier: private
test_class.original_string: private ParameterResolverFactory parameterResolverFactory;
test_class.type: ParameterResolverFactory
test_class.var_name: parameterResolverFactory
test_class.declarator: pathParameterResolver
test_class.modifier: private
test_class.original_string: private ParameterResolver<PathParam> pathParameterResolver;
test_class.type: ParameterResolver<PathParam>
test_class.var_name: pathParameterResolver
test_class.declarator: queryParameterResolver
test_class.modifier: private
test_class.original_string: private ParameterResolver<QueryParam> queryParameterResolver;
test_class.type: ParameterResolver<QueryParam>
test_class.var_name: queryParameterResolver
test_class.declarator: matrixParameterResolver
test_class.modifier: private
test_class.original_string: private ParameterResolver<MatrixParam> matrixParameterResolver;
test_class.type: ParameterResolver<MatrixParam>
test_class.var_name: matrixParameterResolver
test_class.declarator: cookieParameterResolver
test_class.modifier: private
test_class.original_string: private ParameterResolver<CookieParam> cookieParameterResolver;
test_class.type: ParameterResolver<CookieParam>
test_class.var_name: cookieParameterResolver
test_class.declarator: headerParameterResolver
test_class.modifier: private
test_class.original_string: private ParameterResolver<HeaderParam> headerParameterResolver;
test_class.type: ParameterResolver<HeaderParam>
test_class.var_name: headerParameterResolver
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: dependencySupplier
test_class.modifier: private
test_class.original_string: private DependencySupplier dependencySupplier;
test_class.type: DependencySupplier
test_class.var_name: dependencySupplier
test_class.file: everrest-core/src/test/java/org/everrest/core/impl/FieldInjectorImplTest.java
test_class.identifier: FieldInjectorImplTest
test_case.body: @Test
      public void throwsWebApplicationExceptionWithStatus_NOT_FOUND_WhenFieldAnnotatedWithQueryParamAnnotationCanNotBeResolved() throws Exception {
          when(queryParameterResolver.resolve(isA(Parameter.class), eq(applicationContext))).thenThrow(new Exception());
  
          FieldInjectorImpl fieldInjector = new FieldInjectorImpl(Resource.class.getDeclaredField("queryParam"), parameterResolverFactory);
          Resource instance = new Resource();
  
          thrown.expect(webApplicationExceptionWithStatusMatcher(NOT_FOUND));
          fieldInjector.inject(instance, applicationContext);
      }
test_case.class_method_signature: FieldInjectorImplTest.throwsWebApplicationExceptionWithStatus_NOT_FOUND_WhenFieldAnnotatedWithQueryParamAnnotationCanNotBeResolved()
test_case.full_signature: @Test public void throwsWebApplicationExceptionWithStatus_NOT_FOUND_WhenFieldAnnotatedWithQueryParamAnnotationCanNotBeResolved()
test_case.identifier: throwsWebApplicationExceptionWithStatus_NOT_FOUND_WhenFieldAnnotatedWithQueryParamAnnotationCanNotBeResolved
test_case.invocations: thenThrow when resolve isA eq getDeclaredField expect webApplicationExceptionWithStatusMatcher inject
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void throwsWebApplicationExceptionWithStatus_NOT_FOUND_WhenFieldAnnotatedWithQueryParamAnnotationCanNotBeResolved()
focal_class.declarator: annotations
focal_class.modifier: private final
focal_class.original_string: private final Annotation[] annotations;
focal_class.type: Annotation[]
focal_class.var_name: annotations
focal_class.declarator: annotation
focal_class.modifier: private final
focal_class.original_string: private final Annotation annotation;
focal_class.type: Annotation
focal_class.var_name: annotation
focal_class.declarator: defaultValue
focal_class.modifier: private final
focal_class.original_string: private final String defaultValue;
focal_class.type: String
focal_class.var_name: defaultValue
focal_class.declarator: encoded
focal_class.modifier: private final
focal_class.original_string: private final boolean encoded;
focal_class.type: boolean
focal_class.var_name: encoded
focal_class.declarator: field
focal_class.modifier: private final
focal_class.original_string: private final Field  field;
focal_class.type: Field
focal_class.var_name: field
focal_class.declarator: parameterResolverFactory
focal_class.modifier: private final
focal_class.original_string: private final ParameterResolverFactory parameterResolverFactory;
focal_class.type: ParameterResolverFactory
focal_class.var_name: parameterResolverFactory
focal_class.declarator: setter
focal_class.modifier: private final
focal_class.original_string: private final Method setter;
focal_class.type: Method
focal_class.var_name: setter
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/FieldInjectorImpl.java
focal_class.identifier: FieldInjectorImpl
focal_class.interfaces: implements FieldInjector
focal_class.class_method_signature: FieldInjectorImpl.FieldInjectorImpl(Field field, ParameterResolverFactory parameterResolverFactory)
focal_class.full_signature: public  FieldInjectorImpl(Field field, ParameterResolverFactory parameterResolverFactory)
focal_class.identifier: FieldInjectorImpl
focal_class.modifiers: public
focal_class.parameters: (Field field, ParameterResolverFactory parameterResolverFactory)
focal_class.signature:  FieldInjectorImpl(Field field, ParameterResolverFactory parameterResolverFactory)
focal_class.class_method_signature: FieldInjectorImpl.getSetter(Class<?> clazz, Field field)
focal_class.full_signature: private Method getSetter(Class<?> clazz, Field field)
focal_class.identifier: getSetter
focal_class.modifiers: private
focal_class.parameters: (Class<?> clazz, Field field)
focal_class.return: Method
focal_class.signature: Method getSetter(Class<?> clazz, Field field)
focal_class.class_method_signature: FieldInjectorImpl.getAnnotation()
focal_class.full_signature: @Override public Annotation getAnnotation()
focal_class.identifier: getAnnotation
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Annotation
focal_class.signature: Annotation getAnnotation()
focal_class.class_method_signature: FieldInjectorImpl.getAnnotations()
focal_class.full_signature: @Override public Annotation[] getAnnotations()
focal_class.identifier: getAnnotations
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Annotation[]
focal_class.signature: Annotation[] getAnnotations()
focal_class.class_method_signature: FieldInjectorImpl.getDefaultValue()
focal_class.full_signature: @Override public String getDefaultValue()
focal_class.identifier: getDefaultValue
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getDefaultValue()
focal_class.class_method_signature: FieldInjectorImpl.getParameterClass()
focal_class.full_signature: @Override public Class<?> getParameterClass()
focal_class.identifier: getParameterClass
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Class<?>
focal_class.signature: Class<?> getParameterClass()
focal_class.class_method_signature: FieldInjectorImpl.getGenericType()
focal_class.full_signature: @Override public Type getGenericType()
focal_class.identifier: getGenericType
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Type
focal_class.signature: Type getGenericType()
focal_class.class_method_signature: FieldInjectorImpl.isEncoded()
focal_class.full_signature: @Override public boolean isEncoded()
focal_class.identifier: isEncoded
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEncoded()
focal_class.class_method_signature: FieldInjectorImpl.getName()
focal_class.full_signature: @Override public String getName()
focal_class.identifier: getName
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: FieldInjectorImpl.inject(Object resource, ApplicationContext context)
focal_class.full_signature: @Override public void inject(Object resource, ApplicationContext context)
focal_class.identifier: inject
focal_class.modifiers: @Override public
focal_class.parameters: (Object resource, ApplicationContext context)
focal_class.return: void
focal_class.signature: void inject(Object resource, ApplicationContext context)
focal_class.class_method_signature: FieldInjectorImpl.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: @Override
      public void inject(Object resource, ApplicationContext context) {
          try {
              Object value = null;
              if (annotation != null) {
                  value = parameterResolverFactory.createParameterResolver(annotation).resolve(this, context);
              } else {
                  DependencySupplier dependencies = context.getDependencySupplier();
                  if (dependencies != null) {
                      value = dependencies.getInstance(this);
                  }
              }
  
              if (value != null) {
                  if (setter != null) {
                      setter.invoke(resource, value);
                  } else {
                      if (!Modifier.isPublic(field.getModifiers())) {
                          field.setAccessible(true);
                      }
                      field.set(resource, value);
                  }
              }
          } catch (Exception e) {
              if (annotation != null) {
                  Class<?> annotationType = annotation.annotationType();
                  if (annotationType == PathParam.class || annotationType == QueryParam.class || annotationType == MatrixParam.class) {
                      throw new WebApplicationException(e, Response.status(NOT_FOUND).build());
                  }
                  throw new WebApplicationException(e, Response.status(BAD_REQUEST).build());
              }
              throw new WebApplicationException(e, Response.status(INTERNAL_SERVER_ERROR).build());
          }
      }
focal_method.class_method_signature: FieldInjectorImpl.inject(Object resource, ApplicationContext context)
focal_method.full_signature: @Override public void inject(Object resource, ApplicationContext context)
focal_method.identifier: inject
focal_method.invocations: resolve createParameterResolver getDependencySupplier getInstance invoke isPublic getModifiers setAccessible set annotationType build status build status build status
focal_method.modifiers: @Override public
focal_method.parameters: (Object resource, ApplicationContext context)
focal_method.return: void
focal_method.signature: void inject(Object resource, ApplicationContext context)