This commit is contained in:
Arjen Poutsma
2008-03-13 10:54:34 +00:00
parent 4110614d17
commit baa1dc0328

View File

@@ -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}.
* <p/>
* 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: <ol>
* <li>{@link ImportsProvider}</li> <li>{@link TypesProvider}</li> <li>{@link MessagesProvider}</li> <li>{@link
* PortTypesProvider}</li> <li>{@link BindingsProvider}</li> <li>{@link ServicesProvider}</li> </ol>
* <p/>
* 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.
* <p/>
* Default is <code>null</code>, indicating that no <code>&lt;import&gt;</code> will be created
*
* @return the import provider; or <code>null</code>
*/
public ImportsProvider getImportsProvider() {
return importsProvider;
}
/**
* Sets the {@link ImportsProvider} for this definition.
* <p/>
* Default is <code>null</code>, indicating that no <code>&lt;import&gt;</code> will be created
*
* @param importsProvider the import provider
*/
public void setImportsProvider(ImportsProvider importsProvider) {
this.importsProvider = importsProvider;
}
/**
* Returns the {@link TypesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;types&gt;</code> will be created
*
* @return the types provider; or <code>null</code>
*/
public TypesProvider getTypesProvider() {
return typesProvider;
}
/**
* Sets the {@link TypesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;types&gt;</code> will be created
*
* @param typesProvider the types provider; or <code>null</code>
*/
public void setTypesProvider(TypesProvider typesProvider) {
this.typesProvider = typesProvider;
}
/**
* Returns the {@link MessagesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;message&gt;</code> will be created
*
* @return the messages provider; or <code>null</code>
*/
public MessagesProvider getMessagesProvider() {
return messagesProvider;
}
/**
* Sets the {@link MessagesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;message&gt;</code> will be created
*
* @param messagesProvider the messages provider; or <code>null</code>
*/
public void setMessagesProvider(MessagesProvider messagesProvider) {
this.messagesProvider = messagesProvider;
}
/**
* Returns the {@link PortTypesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;portType&gt;</code> will be created
*
* @return the port types provider; or <code>null</code>
*/
public PortTypesProvider getPortTypesProvider() {
return portTypesProvider;
}
/**
* Sets the {@link PortTypesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;portType&gt;</code> will be created
*
* @param portTypesProvider the port types provider; or <code>null</code>
*/
public void setPortTypesProvider(PortTypesProvider portTypesProvider) {
this.portTypesProvider = portTypesProvider;
}
/**
* Returns the {@link BindingsProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;binding&gt;</code> will be created
*
* @return the binding provider; or <code>null</code>
*/
public BindingsProvider getBindingsProvider() {
return bindingsProvider;
}
/**
* Sets the {@link BindingsProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;binding&gt;</code> will be created
*
* @param bindingsProvider the bindings provider; or <code>null</code>
*/
public void setBindingsProvider(BindingsProvider bindingsProvider) {
this.bindingsProvider = bindingsProvider;
}
/**
* Returns the {@link ServicesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;service&gt;</code> will be created
*
* @return the services provider; or <code>null</code>
*/
public ServicesProvider getServicesProvider() {
return servicesProvider;
}
/**
* Sets the {@link ServicesProvider} for this definition.
* <p/>
* Defaults to <code>null</code>, indicating that no <code>&lt;service&gt;</code> will be created
*
* @param servicesProvider the services provider; or <code>null</code>
*/
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;
}