public SeContainerInitializer addProperty()

in webbeans-se/src/main/java/org/apache/openwebbeans/se/OWBInitializer.java [227:295]


    public SeContainerInitializer addProperty(final String key, final Object value)
    {
        switch (key)
        {
            case "openwebbeans.disableDiscovery":
                if ("true".equalsIgnoreCase(String.valueOf(value)))
                {
                    disableDiscovery();
                }
                break;
            case "openwebbeans.classes":
                addBeanClasses(list(value, this::loadClass).toArray(Class[]::new));
                break;
            case "openwebbeans.interceptors":
                enableInterceptors(list(value, this::loadClass).toArray(Class[]::new));
                break;
            case "openwebbeans.decorators":
                enableDecorators(list(value, this::loadClass).toArray(Class[]::new));
                break;
            case "openwebbeans.alternatives":
                selectAlternatives(list(value, this::loadClass).toArray(Class[]::new));
                break;
            case "openwebbeans.stereotypes":
                selectAlternativeStereotypes(list(value, this::loadClass).toArray(Class[]::new));
                break;
            case "openwebbeans.extensions":
                final Class<? extends Extension>[] extensions = list(value, this::loadClass).toArray(Class[]::new);
                addExtensions(extensions);
                break;
            case "openwebbeans.packages":
                addPackages(list(value, this::loadPackage).toArray(Package[]::new));
                break;
            case "openwebbeans.packages.recursive":
                addPackages(true, list(value, this::loadPackage).toArray(Package[]::new));
                break;
            case "openwebbeans.properties":
            {
                final Properties properties = new Properties();
                try (final StringReader reader = new StringReader(String.valueOf(value)))
                {
                    properties.load(reader);
                }
                catch (final IOException e)
                {
                    throw new IllegalArgumentException(e);
                }
                properties.stringPropertyNames().forEach(k -> addProperty(k, properties.getProperty(k)));
                break;
            }
            case "openwebbeans.property.":
            {
                addProperty(key.substring("openwebbeans.property.".length()), value);
                break;
            }
            case "jakarta.enterprise.inject.scan.implicit":
                addProperty("org.apache.webbeans.scanBeansXmlOnly", value);
                break;
            default:
                if (String.class.isInstance(value))
                {
                    properties.put(key, value);
                }
                else
                {
                    services.put(key, value);
                }
        }
        return this;
    }