01: /*
02: * Copyright 2006 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.ws.wsdl.wsdl11;
18:
19: import org.springframework.ws.wsdl.WsdlDefinitionException;
20:
21: /**
22: * Defines the contract for classes that can create a {@link Wsdl11Definition} at runtime.
23: * <p/>
24: * Used by {@link org.springframework.ws.wsdl.wsdl11.DynamicWsdl11Definition} to generate the WSDL based on a schema, a
25: * class, etc.
26: *
27: * @author Arjen Poutsma
28: * @since 1.0.0
29: */
30: public interface Wsdl11DefinitionBuilder {
31:
32: /**
33: * Builds a new, empty definition. This method should be called before all others.
34: *
35: * @throws WsdlDefinitionException in case of errors
36: */
37: void buildDefinition() throws WsdlDefinitionException;
38:
39: /**
40: * Adds imports to the definition.
41: *
42: * @throws WsdlDefinitionException in case of errors
43: */
44: void buildImports() throws WsdlDefinitionException;
45:
46: /**
47: * Adds types to the definition.
48: *
49: * @throws WsdlDefinitionException in case of errors
50: */
51: void buildTypes() throws WsdlDefinitionException;
52:
53: /**
54: * Adds messages to the definition.
55: *
56: * @throws WsdlDefinitionException in case of errors
57: */
58: void buildMessages() throws WsdlDefinitionException;
59:
60: /**
61: * Adds portTypes to the definition.
62: *
63: * @throws WsdlDefinitionException in case of errors
64: */
65: void buildPortTypes() throws WsdlDefinitionException;
66:
67: /**
68: * Adds bindings to the definition.
69: *
70: * @throws WsdlDefinitionException in case of errors
71: */
72: void buildBindings() throws WsdlDefinitionException;
73:
74: /**
75: * Adds services to the definition.
76: *
77: * @throws WsdlDefinitionException in case of errors
78: */
79: void buildServices() throws WsdlDefinitionException;
80:
81: /**
82: * Returns the built <code>Wsdl11Definition</code>.
83: *
84: * @return the WSDL definition, or <code>null</code> if {@link #buildDefinition()} has not been called
85: * @throws WsdlDefinitionException in case of errors
86: */
87: Wsdl11Definition getDefinition() throws WsdlDefinitionException;
88:
89: }
|