ComponentAnnotationLoader { public Set<Type> findComponentRoleTypes(Class<?> componentClass) { return findComponentRoleTypes(componentClass, null); }  void initialize(ComponentManager manager, ClassLoader classLoader); void initialize(ComponentManager manager, ClassLoader classLoader,
        List<ComponentDeclaration> componentDeclarations); @Unstable void register(ComponentManager manager, Collection<ComponentDescriptor<?>> componentDescriptors); void register(ComponentManager manager, ClassLoader classLoader,
        List<ComponentDeclaration> componentDeclarations); void unregister(ComponentManager manager, ClassLoader classLoader,
        List<ComponentDeclaration> componentDeclarations); List<ComponentDescriptor<?>> getComponentsDescriptors(Class<?> componentClass); Set<Type> findComponentRoleTypes(Class<?> componentClass); Set<Type> findComponentRoleTypes(Class<?> componentClass, Type[] parameters); @Deprecated Set<Class<?>> findComponentRoleClasses(Class<?> componentClass); List<ComponentDeclaration> getDeclaredComponents(ClassLoader classLoader, String location); List<ComponentDeclaration> getDeclaredComponents(InputStream componentListStream); List<ComponentDeclaration> getDeclaredComponentsFromJAR(InputStream jarFile); static final String COMPONENT_LIST; @Deprecated
    static final String COMPONENT_OVERRIDE_LIST; }
@Test void findComponentRoleTypes() { assertComponentRoleTypes(RoleImpl.class); }
@Test void findComponentRoleTypesForProvider() { Set<Type> types = this.loader.findComponentRoleTypes(ProviderImpl.class); assertEquals(1, types.size()); assertEquals(new DefaultParameterizedType(null, Provider.class, new DefaultParameterizedType( ComponentAnnotationLoaderTest.class, NotGenericRole.class, String.class)), types.iterator().next()); }
@Test void findComponentRoleTypesWithGenericRole() { Set<Type> types = this.loader.findComponentRoleTypes(GenericComponent.class); assertEquals(1, types.size()); assertEquals(new DefaultParameterizedType(ComponentAnnotationLoaderTest.class, GenericRole.class, String.class), types.iterator().next()); }
@Test void findComponentRoleTypesWithGenericRoleAndNonGenericComponent() { Set<Type> types = this.loader.findComponentRoleTypes(NonGenericComponent.class); assertEquals(1, types.size()); assertEquals(GenericRole.class, types.iterator().next()); }
@Test void findComponentRoleTypesWithExtendingGenericRole() { Set<Type> types = this.loader.findComponentRoleTypes(ExtendingGenericComponent.class); assertEquals(1, types.size()); assertEquals(new DefaultParameterizedType(ComponentAnnotationLoaderTest.class, GenericRole.class, String.class), types.iterator().next()); }
@Test void findComponentRoleTypesWithExtendingNonGenericRole() { Set<Type> types = this.loader.findComponentRoleTypes(ExtendingNonGenericComponent.class); assertEquals(1, types.size()); assertEquals(GenericRole.class, types.iterator().next()); }