From baa1dc0328b162ff7d0f9e57186f4473c2db6b8c Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Thu, 13 Mar 2008 10:54:34 +0000 Subject: [PATCH] SWS-310 --- .../wsdl11/ProviderBasedWsdl4jDefinition.java | 137 +++++++++++++++++- 1 file changed, 136 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/springframework/ws/wsdl/wsdl11/ProviderBasedWsdl4jDefinition.java b/core/src/main/java/org/springframework/ws/wsdl/wsdl11/ProviderBasedWsdl4jDefinition.java index 861c5e57..546c1e7a 100644 --- a/core/src/main/java/org/springframework/ws/wsdl/wsdl11/ProviderBasedWsdl4jDefinition.java +++ b/core/src/main/java/org/springframework/ws/wsdl/wsdl11/ProviderBasedWsdl4jDefinition.java @@ -30,7 +30,23 @@ import org.springframework.ws.wsdl.wsdl11.provider.ServicesProvider; import org.springframework.ws.wsdl.wsdl11.provider.TypesProvider; /** + * Implementation of the {@link Wsdl11Definition} that uses a provider-based mechanism to populate a WSDL4J {@link + * Definition}. + *

+ * All providers are optional, indicating that a particular part of the WSDL will not be created. Providers can be set + * via various properties. The providers are {@link #afterPropertiesSet() invoked} in the following order:

    + *
  1. {@link ImportsProvider}
  2. {@link TypesProvider}
  3. {@link MessagesProvider}
  4. {@link + * PortTypesProvider}
  5. {@link BindingsProvider}
  6. {@link ServicesProvider}
+ *

+ * This definition requires the target namespace to be set via {@link #setTargetNamespace(String)} + * * @author Arjen Poutsma + * @see #setImportsProvider(ImportsProvider) + * @see #setTypesProvider(TypesProvider) + * @see #setMessagesProvider(MessagesProvider) + * @see #setPortTypesProvider(PortTypesProvider) + * @see #setBindingsProvider(BindingsProvider) + * @see #setServicesProvider(ServicesProvider) * @since 1.5.0 */ public class ProviderBasedWsdl4jDefinition extends Wsdl4jDefinition implements InitializingBean { @@ -52,35 +68,154 @@ public class ProviderBasedWsdl4jDefinition extends Wsdl4jDefinition implements I private String targetNamespace; + /** + * Returns the {@link ImportsProvider} for this definition. + *

+ * Default is null, indicating that no <import> will be created + * + * @return the import provider; or null + */ + public ImportsProvider getImportsProvider() { + return importsProvider; + } + + /** + * Sets the {@link ImportsProvider} for this definition. + *

+ * Default is null, indicating that no <import> will be created + * + * @param importsProvider the import provider + */ public void setImportsProvider(ImportsProvider importsProvider) { this.importsProvider = importsProvider; } + /** + * Returns the {@link TypesProvider} for this definition. + *

+ * Defaults to null, indicating that no <types> will be created + * + * @return the types provider; or null + */ + public TypesProvider getTypesProvider() { + return typesProvider; + } + + /** + * Sets the {@link TypesProvider} for this definition. + *

+ * Defaults to null, indicating that no <types> will be created + * + * @param typesProvider the types provider; or null + */ public void setTypesProvider(TypesProvider typesProvider) { this.typesProvider = typesProvider; } + /** + * Returns the {@link MessagesProvider} for this definition. + *

+ * Defaults to null, indicating that no <message> will be created + * + * @return the messages provider; or null + */ + public MessagesProvider getMessagesProvider() { + return messagesProvider; + } + + /** + * Sets the {@link MessagesProvider} for this definition. + *

+ * Defaults to null, indicating that no <message> will be created + * + * @param messagesProvider the messages provider; or null + */ public void setMessagesProvider(MessagesProvider messagesProvider) { this.messagesProvider = messagesProvider; } + /** + * Returns the {@link PortTypesProvider} for this definition. + *

+ * Defaults to null, indicating that no <portType> will be created + * + * @return the port types provider; or null + */ + public PortTypesProvider getPortTypesProvider() { + return portTypesProvider; + } + + /** + * Sets the {@link PortTypesProvider} for this definition. + *

+ * Defaults to null, indicating that no <portType> will be created + * + * @param portTypesProvider the port types provider; or null + */ public void setPortTypesProvider(PortTypesProvider portTypesProvider) { this.portTypesProvider = portTypesProvider; } + /** + * Returns the {@link BindingsProvider} for this definition. + *

+ * Defaults to null, indicating that no <binding> will be created + * + * @return the binding provider; or null + */ + public BindingsProvider getBindingsProvider() { + return bindingsProvider; + } + + /** + * Sets the {@link BindingsProvider} for this definition. + *

+ * Defaults to null, indicating that no <binding> will be created + * + * @param bindingsProvider the bindings provider; or null + */ public void setBindingsProvider(BindingsProvider bindingsProvider) { this.bindingsProvider = bindingsProvider; } + /** + * Returns the {@link ServicesProvider} for this definition. + *

+ * Defaults to null, indicating that no <service> will be created + * + * @return the services provider; or null + */ + public ServicesProvider getServicesProvider() { + return servicesProvider; + } + + /** + * Sets the {@link ServicesProvider} for this definition. + *

+ * Defaults to null, indicating that no <service> will be created + * + * @param servicesProvider the services provider; or null + */ public void setServicesProvider(ServicesProvider servicesProvider) { this.servicesProvider = servicesProvider; } + /** + * Returns the target namespace for the WSDL definition. + * + * @return the target namespace + * @see javax.wsdl.Definition#getTargetNamespace() + */ public String getTargetNamespace() { return targetNamespace; } - /** Sets the target namespace used for this definition. Required. */ + /** + * Sets the target namespace used for this definition. Required. + * + * @param targetNamespace the target namespace + * @see javax.wsdl.Definition#setTargetNamespace(String) + */ public void setTargetNamespace(String targetNamespace) { this.targetNamespace = targetNamespace; }