test_class.declarator: resources
test_class.modifier: private
test_class.original_string: private ResourceBinder resources;
test_class.type: ResourceBinder
test_class.var_name: resources
test_class.declarator: providers
test_class.modifier: private
test_class.original_string: private ProviderBinder providers;
test_class.type: ProviderBinder
test_class.var_name: providers
test_class.declarator: componentResolver
test_class.modifier: private
test_class.original_string: private RestComponentResolver componentResolver;
test_class.type: RestComponentResolver
test_class.var_name: componentResolver
test_class.file: everrest-core/src/test/java/org/everrest/core/impl/RestComponentResolverTest.java
test_class.identifier: RestComponentResolverTest
test_case.body: @Test
      public void resolvesSingletonMethodInvokerFilter() {
          MethodInvokerFilter methodInvokerFilter = new AllMatchesMethodInvokerFilter();
          componentResolver.addSingleton(methodInvokerFilter);
          verify(providers).addMethodInvokerFilter(methodInvokerFilter);
      }
test_case.class_method_signature: RestComponentResolverTest.resolvesSingletonMethodInvokerFilter()
test_case.full_signature: @Test public void resolvesSingletonMethodInvokerFilter()
test_case.identifier: resolvesSingletonMethodInvokerFilter
test_case.invocations: addSingleton addMethodInvokerFilter verify
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void resolvesSingletonMethodInvokerFilter()
focal_class.declarator: resources
focal_class.modifier: private
focal_class.original_string: private ResourceBinder resources;
focal_class.type: ResourceBinder
focal_class.var_name: resources
focal_class.declarator: providers
focal_class.modifier: private
focal_class.original_string: private ProviderBinder providers;
focal_class.type: ProviderBinder
focal_class.var_name: providers
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/RestComponentResolver.java
focal_class.identifier: RestComponentResolver
focal_class.class_method_signature: RestComponentResolver.RestComponentResolver(ResourceBinder resources, ProviderBinder providers)
focal_class.full_signature: public  RestComponentResolver(ResourceBinder resources, ProviderBinder providers)
focal_class.identifier: RestComponentResolver
focal_class.modifiers: public
focal_class.parameters: (ResourceBinder resources, ProviderBinder providers)
focal_class.signature:  RestComponentResolver(ResourceBinder resources, ProviderBinder providers)
focal_class.class_method_signature: RestComponentResolver.addSingleton(Object instance)
focal_class.full_signature: @SuppressWarnings({"unchecked"}) public void addSingleton(Object instance)
focal_class.identifier: addSingleton
focal_class.modifiers: @SuppressWarnings({"unchecked"}) public
focal_class.parameters: (Object instance)
focal_class.return: void
focal_class.signature: void addSingleton(Object instance)
focal_class.class_method_signature: RestComponentResolver.addPerRequest(Class clazz)
focal_class.full_signature: @SuppressWarnings({"unchecked"}) public void addPerRequest(Class clazz)
focal_class.identifier: addPerRequest
focal_class.modifiers: @SuppressWarnings({"unchecked"}) public
focal_class.parameters: (Class clazz)
focal_class.return: void
focal_class.signature: void addPerRequest(Class clazz)
focal_class.class_method_signature: RestComponentResolver.addFactory(ObjectFactory factory)
focal_class.full_signature: @SuppressWarnings({"unchecked"}) public void addFactory(ObjectFactory factory)
focal_class.identifier: addFactory
focal_class.modifiers: @SuppressWarnings({"unchecked"}) public
focal_class.parameters: (ObjectFactory factory)
focal_class.return: void
focal_class.signature: void addFactory(ObjectFactory factory)
focal_method.body: @SuppressWarnings({"unchecked"})
      public void addSingleton(Object instance) {
          Class clazz = instance.getClass();
          if (clazz.getAnnotation(Provider.class) != null) {
              if (instance instanceof ContextResolver) {
                  providers.addContextResolver((ContextResolver)instance);
              }
              if (instance instanceof ExceptionMapper) {
                  providers.addExceptionMapper((ExceptionMapper)instance);
              }
              if (instance instanceof MessageBodyReader) {
                  providers.addMessageBodyReader((MessageBodyReader)instance);
              }
              if (instance instanceof MessageBodyWriter) {
                  providers.addMessageBodyWriter((MessageBodyWriter)instance);
              }
          } else if (clazz.getAnnotation(Filter.class) != null) {
              if (instance instanceof MethodInvokerFilter) {
                  providers.addMethodInvokerFilter((MethodInvokerFilter)instance);
              }
              if (instance instanceof RequestFilter) {
                  providers.addRequestFilter((RequestFilter)instance);
              }
              if (instance instanceof ResponseFilter) {
                  providers.addResponseFilter((ResponseFilter)instance);
              }
          } else if (clazz.getAnnotation(Path.class) != null) {
              resources.addResource(instance, null);
          }
      }
focal_method.class_method_signature: RestComponentResolver.addSingleton(Object instance)
focal_method.full_signature: @SuppressWarnings({"unchecked"}) public void addSingleton(Object instance)
focal_method.identifier: addSingleton
focal_method.invocations: getClass getAnnotation addContextResolver addExceptionMapper addMessageBodyReader addMessageBodyWriter getAnnotation addMethodInvokerFilter addRequestFilter addResponseFilter getAnnotation addResource
focal_method.modifiers: @SuppressWarnings({"unchecked"}) public
focal_method.parameters: (Object instance)
focal_method.return: void
focal_method.signature: void addSingleton(Object instance)