3030import org .springframework .ws .wsdl .wsdl11 .provider .TypesProvider ;
3131
3232/**
33+ * Implementation of the {@link Wsdl11Definition} that uses a provider-based mechanism to populate a WSDL4J {@link
34+ * Definition}.
35+ * <p/>
36+ * All providers are optional, indicating that a particular part of the WSDL will not be created. Providers can be set
37+ * via various properties. The providers are {@link #afterPropertiesSet() invoked} in the following order: <ol>
38+ * <li>{@link ImportsProvider}</li> <li>{@link TypesProvider}</li> <li>{@link MessagesProvider}</li> <li>{@link
39+ * PortTypesProvider}</li> <li>{@link BindingsProvider}</li> <li>{@link ServicesProvider}</li> </ol>
40+ * <p/>
41+ * This definition requires the target namespace to be set via {@link #setTargetNamespace(String)}
42+ *
3343 * @author Arjen Poutsma
44+ * @see #setImportsProvider(ImportsProvider)
45+ * @see #setTypesProvider(TypesProvider)
46+ * @see #setMessagesProvider(MessagesProvider)
47+ * @see #setPortTypesProvider(PortTypesProvider)
48+ * @see #setBindingsProvider(BindingsProvider)
49+ * @see #setServicesProvider(ServicesProvider)
3450 * @since 1.5.0
3551 */
3652public class ProviderBasedWsdl4jDefinition extends Wsdl4jDefinition implements InitializingBean {
@@ -52,35 +68,154 @@ public class ProviderBasedWsdl4jDefinition extends Wsdl4jDefinition implements I
5268
5369 private String targetNamespace ;
5470
71+ /**
72+ * Returns the {@link ImportsProvider} for this definition.
73+ * <p/>
74+ * Default is <code>null</code>, indicating that no <code><import></code> will be created
75+ *
76+ * @return the import provider; or <code>null</code>
77+ */
78+ public ImportsProvider getImportsProvider () {
79+ return importsProvider ;
80+ }
81+
82+ /**
83+ * Sets the {@link ImportsProvider} for this definition.
84+ * <p/>
85+ * Default is <code>null</code>, indicating that no <code><import></code> will be created
86+ *
87+ * @param importsProvider the import provider
88+ */
5589 public void setImportsProvider (ImportsProvider importsProvider ) {
5690 this .importsProvider = importsProvider ;
5791 }
5892
93+ /**
94+ * Returns the {@link TypesProvider} for this definition.
95+ * <p/>
96+ * Defaults to <code>null</code>, indicating that no <code><types></code> will be created
97+ *
98+ * @return the types provider; or <code>null</code>
99+ */
100+ public TypesProvider getTypesProvider () {
101+ return typesProvider ;
102+ }
103+
104+ /**
105+ * Sets the {@link TypesProvider} for this definition.
106+ * <p/>
107+ * Defaults to <code>null</code>, indicating that no <code><types></code> will be created
108+ *
109+ * @param typesProvider the types provider; or <code>null</code>
110+ */
59111 public void setTypesProvider (TypesProvider typesProvider ) {
60112 this .typesProvider = typesProvider ;
61113 }
62114
115+ /**
116+ * Returns the {@link MessagesProvider} for this definition.
117+ * <p/>
118+ * Defaults to <code>null</code>, indicating that no <code><message></code> will be created
119+ *
120+ * @return the messages provider; or <code>null</code>
121+ */
122+ public MessagesProvider getMessagesProvider () {
123+ return messagesProvider ;
124+ }
125+
126+ /**
127+ * Sets the {@link MessagesProvider} for this definition.
128+ * <p/>
129+ * Defaults to <code>null</code>, indicating that no <code><message></code> will be created
130+ *
131+ * @param messagesProvider the messages provider; or <code>null</code>
132+ */
63133 public void setMessagesProvider (MessagesProvider messagesProvider ) {
64134 this .messagesProvider = messagesProvider ;
65135 }
66136
137+ /**
138+ * Returns the {@link PortTypesProvider} for this definition.
139+ * <p/>
140+ * Defaults to <code>null</code>, indicating that no <code><portType></code> will be created
141+ *
142+ * @return the port types provider; or <code>null</code>
143+ */
144+ public PortTypesProvider getPortTypesProvider () {
145+ return portTypesProvider ;
146+ }
147+
148+ /**
149+ * Sets the {@link PortTypesProvider} for this definition.
150+ * <p/>
151+ * Defaults to <code>null</code>, indicating that no <code><portType></code> will be created
152+ *
153+ * @param portTypesProvider the port types provider; or <code>null</code>
154+ */
67155 public void setPortTypesProvider (PortTypesProvider portTypesProvider ) {
68156 this .portTypesProvider = portTypesProvider ;
69157 }
70158
159+ /**
160+ * Returns the {@link BindingsProvider} for this definition.
161+ * <p/>
162+ * Defaults to <code>null</code>, indicating that no <code><binding></code> will be created
163+ *
164+ * @return the binding provider; or <code>null</code>
165+ */
166+ public BindingsProvider getBindingsProvider () {
167+ return bindingsProvider ;
168+ }
169+
170+ /**
171+ * Sets the {@link BindingsProvider} for this definition.
172+ * <p/>
173+ * Defaults to <code>null</code>, indicating that no <code><binding></code> will be created
174+ *
175+ * @param bindingsProvider the bindings provider; or <code>null</code>
176+ */
71177 public void setBindingsProvider (BindingsProvider bindingsProvider ) {
72178 this .bindingsProvider = bindingsProvider ;
73179 }
74180
181+ /**
182+ * Returns the {@link ServicesProvider} for this definition.
183+ * <p/>
184+ * Defaults to <code>null</code>, indicating that no <code><service></code> will be created
185+ *
186+ * @return the services provider; or <code>null</code>
187+ */
188+ public ServicesProvider getServicesProvider () {
189+ return servicesProvider ;
190+ }
191+
192+ /**
193+ * Sets the {@link ServicesProvider} for this definition.
194+ * <p/>
195+ * Defaults to <code>null</code>, indicating that no <code><service></code> will be created
196+ *
197+ * @param servicesProvider the services provider; or <code>null</code>
198+ */
75199 public void setServicesProvider (ServicesProvider servicesProvider ) {
76200 this .servicesProvider = servicesProvider ;
77201 }
78202
203+ /**
204+ * Returns the target namespace for the WSDL definition.
205+ *
206+ * @return the target namespace
207+ * @see javax.wsdl.Definition#getTargetNamespace()
208+ */
79209 public String getTargetNamespace () {
80210 return targetNamespace ;
81211 }
82212
83- /** Sets the target namespace used for this definition. Required. */
213+ /**
214+ * Sets the target namespace used for this definition. Required.
215+ *
216+ * @param targetNamespace the target namespace
217+ * @see javax.wsdl.Definition#setTargetNamespace(String)
218+ */
84219 public void setTargetNamespace (String targetNamespace ) {
85220 this .targetNamespace = targetNamespace ;
86221 }
0 commit comments