Component component = type.getAnnotation(Component.class);
String name = component.name();
if ("".equals(name)) {
name = StringUtils.uncapitalize(type.getSimpleSourceName());
}
SimpleComponentDefinition definition = new SimpleComponentDefinition(name, type, component.scope() == Scope.SINGLETON);
definition.setLazy(component.lazyInit());
String initMethodName = component.initMethodName();
if (!"".equals(initMethodName)) {
definition.setInitMethodName(initMethodName);
}
String disposeMethodName = component.disposeMethodName();
if (!"".equals(disposeMethodName)) {
definition.setDisposeMethodName(disposeMethodName);
}
componentProcessor.process(logger, definition, typeOracle);
return definition;