private void addBean()

in geronimo-metrics/src/main/java/org/apache/geronimo/microprofile/metrics/cdi/MetricsExtension.java [519:540]


    private void addBean(final AfterBeanDiscovery afterBeanDiscovery,
                         final String idSuffix,
                         final Class<?> type,
                         final Annotation qualifier,
                         final Object instance,
                         final boolean addDefaultQualifier) {
        final BeanConfigurator<Object> configurator = afterBeanDiscovery.addBean()
                .id(MetricsExtension.class.getName() + ":" + type.getName() + ":" + idSuffix)
                .beanClass(type)
                .scope(Dependent.class) // avoid proxies, tck use assertEquals(proxy, registry.get(xxx))
                .createWith(c -> instance);
        if (MetricRegistry.class == type) {
            configurator.types(MetricRegistry.class, RegistryImpl.class, Objects.class);
        } else {
            configurator.types(type, Object.class);
        }
        if (addDefaultQualifier) {
            configurator.qualifiers(qualifier, Default.Literal.INSTANCE, Any.Literal.INSTANCE);
        } else {
            configurator.qualifiers(qualifier, Any.Literal.INSTANCE);
        }
    }