test_class.file: dddlib-ioc/dddlib-ioc-guice/src/test/java/org/dayatang/ioc/guice/GuiceInstanceProviderTest.java
test_class.identifier: GuiceInstanceProviderTest
test_class.superclass: extends AbstractInstanceProviderTest
test_case.body: @Test
  	public void testGetInstances() {
  		List<Service> expected = Arrays.asList(
  				new MyService1(),
  				new MyService21(),
  				new MyService22(),
  				new MyService31()
  		);
  		Set<Service> services = getProvider().getInstances(Service.class);
  		assertTrue(services.containsAll(expected));
  	}
test_case.class_method_signature: GuiceInstanceProviderTest.testGetInstances()
test_case.full_signature: @Test public void testGetInstances()
test_case.identifier: testGetInstances
test_case.invocations: asList getInstances getProvider assertTrue containsAll
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetInstances()
focal_class.declarator: injector
focal_class.modifier: private final
focal_class.original_string: private final Injector injector;
focal_class.type: Injector
focal_class.var_name: injector
focal_class.file: dddlib-ioc/dddlib-ioc-guice/src/main/java/org/dayatang/ioc/guice/GuiceInstanceProvider.java
focal_class.identifier: GuiceInstanceProvider
focal_class.interfaces: implements InstanceProvider
focal_class.class_method_signature: GuiceInstanceProvider.GuiceInstanceProvider(Module... modules)
focal_class.full_signature: public  GuiceInstanceProvider(Module... modules)
focal_class.identifier: GuiceInstanceProvider
focal_class.modifiers: public
focal_class.parameters: (Module... modules)
focal_class.signature:  GuiceInstanceProvider(Module... modules)
focal_class.class_method_signature: GuiceInstanceProvider.GuiceInstanceProvider(Injector injector)
focal_class.full_signature: public  GuiceInstanceProvider(Injector injector)
focal_class.identifier: GuiceInstanceProvider
focal_class.modifiers: public
focal_class.parameters: (Injector injector)
focal_class.signature:  GuiceInstanceProvider(Injector injector)
focal_class.class_method_signature: GuiceInstanceProvider.getInstance(Class<T> beanType)
focal_class.full_signature: @Override public T getInstance(Class<T> beanType)
focal_class.identifier: getInstance
focal_class.modifiers: @Override public
focal_class.parameters: (Class<T> beanType)
focal_class.return: T
focal_class.signature: T getInstance(Class<T> beanType)
focal_class.class_method_signature: GuiceInstanceProvider.getInstance(Class<T> beanType, String beanName)
focal_class.full_signature: @Override public T getInstance(Class<T> beanType, String beanName)
focal_class.identifier: getInstance
focal_class.modifiers: @Override public
focal_class.parameters: (Class<T> beanType, String beanName)
focal_class.return: T
focal_class.signature: T getInstance(Class<T> beanType, String beanName)
focal_class.class_method_signature: GuiceInstanceProvider.getInstance(Class<T> beanType, Class<? extends Annotation> annotationType)
focal_class.full_signature: @Override public T getInstance(Class<T> beanType, Class<? extends Annotation> annotationType)
focal_class.identifier: getInstance
focal_class.modifiers: @Override public
focal_class.parameters: (Class<T> beanType, Class<? extends Annotation> annotationType)
focal_class.return: T
focal_class.signature: T getInstance(Class<T> beanType, Class<? extends Annotation> annotationType)
focal_class.class_method_signature: GuiceInstanceProvider.getInstances(Class<T> beanType)
focal_class.full_signature: @Override public Set<T> getInstances(Class<T> beanType)
focal_class.identifier: getInstances
focal_class.modifiers: @Override public
focal_class.parameters: (Class<T> beanType)
focal_class.return: Set<T>
focal_class.signature: Set<T> getInstances(Class<T> beanType)
focal_method.body: @Override
      public <T> Set<T> getInstances(Class<T> beanType) {
          Map<Key<?>, Binding<?>> allBindings = injector.getAllBindings();
          Set<T> results = new HashSet<T>();
          for (Map.Entry<Key<?>, Binding<?>> entry : allBindings.entrySet()) {
              Key<?> key = entry.getKey();
              System.out.println("Key: " + key.getTypeLiteral().getRawType());
              if (beanType.isAssignableFrom(key.getTypeLiteral().getRawType())) {
                  System.out.println("True");
                  results.add((T) entry.getValue().getProvider().get());
              }
          }
          return results;
      }
focal_method.class_method_signature: GuiceInstanceProvider.getInstances(Class<T> beanType)
focal_method.full_signature: @Override public Set<T> getInstances(Class<T> beanType)
focal_method.identifier: getInstances
focal_method.invocations: getAllBindings entrySet getKey println getRawType getTypeLiteral isAssignableFrom getRawType getTypeLiteral println add get getProvider getValue
focal_method.modifiers: @Override public
focal_method.parameters: (Class<T> beanType)
focal_method.return: Set<T>
focal_method.signature: Set<T> getInstances(Class<T> beanType)