in gshell-support/gshell-spring/src/main/java/org/apache/geronimo/gshell/spring/LoggingProcessor.java [222:328]
private void generateBeanDefinitionAttributes(final BeanDefinition beanDefinition, final ElementBuilder elementBuilder, final String beanName, final boolean inHolder) {
String beanClassName = beanDefinition.getBeanClassName();
boolean isAbstract = beanDefinition.isAbstract();
boolean isLazyInit = beanDefinition.isLazyInit();
String scope = beanDefinition.getScope();
ElementBuilder builder = elementBuilder.addChild(BEAN_ELEMENT);
if (!inHolder) {
if (beanName != null) {
if (!beanName.equals(beanClassName)) {
if (isBeanNameApplicableForID(beanName)) {
builder.addAttribute(ID_ATTRIBUTE, beanName);
}
else {
builder.addAttribute(NAME_ATTRIBUTE, beanName);
}
}
}
}
if (beanClassName != null) {
builder.addAttribute(CLASS_ATTRIBUTE, beanClassName);
}
if (isAbstract) {
builder.addAttribute(ABSTRACT_ATTRIBUTE, TRUE_VALUE);
}
if (isLazyInit) {
builder.addAttribute(LAZY_INIT_ATTRIBUTE, TRUE_VALUE);
}
if (scope != null) {
if (!SINGLETON_ATTRIBUTE.equals(scope)) {
builder.addAttribute(SCOPE_ATTRIBUTE, scope);
}
}
if (beanDefinition instanceof AbstractBeanDefinition) {
AbstractBeanDefinition abstractBeanDefinition = (AbstractBeanDefinition) beanDefinition;
String initMethod = abstractBeanDefinition.getInitMethodName();
if (initMethod != null) {
builder.addAttribute(INIT_METHOD_ATTRIBUTE, initMethod);
}
String destroyMethod = abstractBeanDefinition.getDestroyMethodName();
if (destroyMethod != null) {
builder.addAttribute(DESTROY_METHOD_ATTRIBUTE, destroyMethod);
}
String factoryBeanName = abstractBeanDefinition.getFactoryBeanName();
if (factoryBeanName != null) {
builder.addAttribute(FACTORY_BEAN_ATTRIBUTE, factoryBeanName);
}
String factoryMethodName = abstractBeanDefinition.getFactoryMethodName();
if (factoryMethodName != null) {
builder.addAttribute(FACTORY_METHOD_ATTRIBUTE, factoryMethodName);
}
int autowireMode = abstractBeanDefinition.getAutowireMode();
int dependencyCheck = abstractBeanDefinition.getDependencyCheck();
String[] dependsOn = abstractBeanDefinition.getDependsOn();
if (dependsOn != null) {
if (dependsOn.length > 0) {
String dependsOnValue = StringUtils.arrayToCommaDelimitedString(dependsOn);
builder.addAttribute(DEPENDS_ON_ATTRIBUTE, dependsOnValue);
}
}
String autowire = getAutowireModeString(autowireMode);
if (autowire != null) {
if (!"no".equals(autowire)) {
builder.addAttribute(AUTOWIRE_ATTRIBUTE, autowire);
}
}
String dependsCheck = getDependencyCheck(dependencyCheck);
if (dependsCheck != null) {
if (!"none".equals(dependsCheck)) {
builder.addAttribute(DEPENDENCY_CHECK_ATTRIBUTE, dependsCheck);
}
}
}
if (beanDefinition instanceof ChildBeanDefinition) {
ChildBeanDefinition childBeanDefinition = (ChildBeanDefinition) beanDefinition;
String parent = childBeanDefinition.getParentName();
if (parent != null) {
builder.addAttribute(PARENT_ATTRIBUTE, parent);
}
}
String description = metadataElementDescriptionCreator.getBeanDefinitionDescription(beanName, beanDefinition);
if (description != null) {
elementBuilder.addChild(DESCRIPTION_ELEMENT);
elementBuilder.addPCData(description);
elementBuilder.up();
}
}