/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.runtime.config.spring.parsers.delegate;
import org.mule.runtime.config.spring.parsers.MuleDefinitionParser;
import org.mule.runtime.config.spring.parsers.MuleDefinitionParserConfiguration;
import org.mule.runtime.config.spring.parsers.PostProcessor;
import org.mule.runtime.config.spring.parsers.PreProcessor;
import org.mule.runtime.config.spring.parsers.assembly.configuration.ValueMap;
import java.util.Map;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.xml.ParserContext;
import org.w3c.dom.Element;
/**
* Support for extending a {@link org.mule.runtime.config.spring.parsers.MuleDefinitionParser} without needing to subclass.
*/
public abstract class AbstractPluggableDelegate implements MuleDefinitionParser {
private MuleDefinitionParser delegate;
public AbstractPluggableDelegate(MuleDefinitionParser delegate) {
this.delegate = delegate;
}
public AbstractBeanDefinition muleParse(Element element, ParserContext parserContext) {
return delegate.muleParse(element, parserContext);
}
public MuleDefinitionParserConfiguration registerPreProcessor(PreProcessor preProcessor) {
delegate.registerPreProcessor(preProcessor);
return this;
}
public MuleDefinitionParserConfiguration registerPostProcessor(PostProcessor postProcessor) {
delegate.registerPostProcessor(postProcessor);
return this;
}
public MuleDefinitionParserConfiguration addReference(String propertyName) {
delegate.addReference(propertyName);
return this;
}
public MuleDefinitionParserConfiguration addMapping(String propertyName, Map mappings) {
delegate.addMapping(propertyName, mappings);
return this;
}
public MuleDefinitionParserConfiguration addMapping(String propertyName, String mappings) {
delegate.addMapping(propertyName, mappings);
return this;
}
public MuleDefinitionParserConfiguration addMapping(String propertyName, ValueMap mappings) {
delegate.addMapping(propertyName, mappings);
return this;
}
public MuleDefinitionParserConfiguration addAlias(String alias, String propertyName) {
delegate.addAlias(alias, propertyName);
return this;
}
public MuleDefinitionParserConfiguration addCollection(String propertyName) {
delegate.addCollection(propertyName);
return this;
}
public MuleDefinitionParserConfiguration addIgnored(String propertyName) {
delegate.addIgnored(propertyName);
return this;
}
public MuleDefinitionParserConfiguration removeIgnored(String propertyName) {
delegate.removeIgnored(propertyName);
return this;
}
public MuleDefinitionParserConfiguration setIgnoredDefault(boolean ignoreAll) {
delegate.setIgnoredDefault(ignoreAll);
return this;
}
}