public ComponentMetadata decorate()

in blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/impl/ExtNamespaceHandler.java [180:211]


    public ComponentMetadata decorate(Node node, ComponentMetadata component, ParserContext context) {
        if (node instanceof Attr && nodeNameEquals(node, PROXY_METHOD_ATTRIBUTE)) {
            return decorateProxyMethod(node, component, context);
        } else if (node instanceof Attr && nodeNameEquals(node, ROLE_ATTRIBUTE)) {
            return decorateRole(node, component, context);
        } else if (node instanceof Attr && nodeNameEquals(node, FIELD_INJECTION_ATTRIBUTE)) {
            return decorateFieldInjection(node, component, context);
        } else if (node instanceof Attr && nodeNameEquals(node, NON_STANDARD_SETTERS_ATTRIBUTE)) {
            return decorateNonStandardSetters(node, component, context);
        } else if (node instanceof Attr && nodeNameEquals(node, DEFAULT_REFERENCE_BEAN)) {
            return decorateDefaultBean(node, component, context);
        } else if (node instanceof Attr && nodeNameEquals(node, FILTER_ATTRIBUTE)) {
            return decorateFilter(node, component, context);
        } else if (node instanceof Element && nodeNameEquals(node, ADDITIONAL_INTERFACES)) {
            return decorateAdditionalInterfaces(node, component, context);
        } else if (node instanceof Element && nodeNameEquals(node, BEAN)) {
            return context.parseElement(BeanMetadata.class, component, (Element) node);
        } else if (node instanceof Element && nodeNameEquals(node, REFERENCE)) {
            RefMetadata rd = context.parseElement(RefMetadata.class, component, (Element) node);
            return createReference(context, rd.getComponentId());
        } else if (node instanceof Attr && nodeNameEquals(node, DAMPING_ATTRIBUTE)) {
            return decorateDamping(node, component, context);
        } else if (node instanceof Attr && nodeNameEquals(node, LIFECYCLE_ATTRIBUTE)) {
            return decorateLifecycle(node, component, context);
        } else if (node instanceof Attr && nodeNameEquals(node, RAW_CONVERSION_ATTRIBUTE)) {
            return decorateRawConversion(node, component, context);
        } else if (node instanceof Element && nodeNameEquals(node, ARGUMENT)) {
            return parseBeanArgument(context, (Element) node);
        } else {
            throw new ComponentDefinitionException("Unsupported node: " + node.getNodeName());
        }
    }