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;
}