01: /*
02: * Copyright 2002-2007 the original author or authors.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16:
17: package org.springframework.remoting.jaxrpc;
18:
19: import javax.xml.rpc.Service;
20:
21: /**
22: * Callback interface for post-processing a JAX-RPC Service.
23: *
24: * <p>Implementations can be registered with {@link LocalJaxRpcServiceFactory}
25: * or one of its subclasses: {@link LocalJaxRpcServiceFactoryBean},
26: * {@link JaxRpcPortClientInterceptor}, or {@link JaxRpcPortProxyFactoryBean}.
27: *
28: * <p>Useful, for example, to register custom type mappings. See the
29: * {@link org.springframework.remoting.jaxrpc.support.AxisBeanMappingServicePostProcessor}
30: * class that registers Axis-specific bean mappings for specified bean classes.
31: * This is defined for the domain objects in the JPetStore same application,
32: * for example.
33: *
34: * @author Juergen Hoeller
35: * @since 1.1.4
36: * @see LocalJaxRpcServiceFactory#setServicePostProcessors
37: * @see LocalJaxRpcServiceFactoryBean#setServicePostProcessors
38: * @see JaxRpcPortClientInterceptor#setServicePostProcessors
39: * @see JaxRpcPortProxyFactoryBean#setServicePostProcessors
40: * @see javax.xml.rpc.Service#getTypeMappingRegistry
41: */
42: public interface JaxRpcServicePostProcessor {
43:
44: /**
45: * Post-process the given JAX-RPC {@link Service}.
46: * @param service the current JAX-RPC <code>Service</code>
47: * (can be cast to an implementation-specific class if necessary)
48: */
49: void postProcessJaxRpcService(Service service);
50:
51: }
|