if (notSet(factoryName)) {
factoryName = DEFAULT_COMPONENT_ADAPTER_FACTORY;
}
String key = element.getAttribute(KEY);
if (notSet(key)) {
throw new NanoContainerMarkupException("'" + KEY + "' attribute not specified for " + element.getNodeName());
}
String className = element.getAttribute(CLASS);
if (notSet(className)) {
throw new NanoContainerMarkupException("'" + CLASS + "' attribute not specified for " + element.getNodeName());
}
Class implementationClass = getClassLoader().loadClass(className);
Parameter[] parameters = createChildParameters(container, element);
ComponentAdapterFactory componentAdapterFactory = createComponentAdapterFactory(factoryName);
container.getPico().registerComponent(componentAdapterFactory.createComponentAdapter(key, implementationClass, parameters));