package org.springframework.ws.config.annotation;
import java.util.ArrayList;
import java.util.List;
import org.springframework.ws.server.EndpointInterceptor;
import org.springframework.ws.server.endpoint.adapter.method.MethodArgumentResolver;
import org.springframework.ws.server.endpoint.adapter.method.MethodReturnValueHandler;
/**
* An {@link WsConfigurer} implementation that delegates to other {@link WsConfigurer} instances.
*
* @author Arjen Poutsma
* @since 2.2
*/
public class WsConfigurerComposite implements WsConfigurer {
private List<WsConfigurer> delegates = new ArrayList<WsConfigurer>();
public void addWsConfigurers(List<WsConfigurer> configurers) {
if (configurers != null) {
this.delegates.addAll(configurers);
}
}
@Override
public void addInterceptors(List<EndpointInterceptor> interceptors) {
for (WsConfigurer delegate : delegates) {
delegate.addInterceptors(interceptors);
}
}
@Override
public void addArgumentResolvers(List<MethodArgumentResolver> argumentResolvers) {
for (WsConfigurer delegate : delegates) {
delegate.addArgumentResolvers(argumentResolvers);
}
}
@Override
public void addReturnValueHandlers(
List<MethodReturnValueHandler> returnValueHandlers) {
for (WsConfigurer delegate : delegates) {
delegate.addReturnValueHandlers(returnValueHandlers);
}
}
}