org.apache.axis.configuration

Class SimpleProvider

Implemented Interfaces:
EngineConfiguration
Known Direct Subclasses:
BasicClientConfig, BasicServerConfig

public class SimpleProvider
extends java.lang.Object
implements EngineConfiguration

A SimpleProvider is an EngineConfiguration which contains a simple HashMap-based registry of Handlers, Transports, and Services. This is for when you want to programatically deploy components which you create. SimpleProvider may also optionally contain a reference to a "default" EngineConfiguration, which will be scanned for components not found in the internal registry. This is handy when you want to start with a base configuration (like the default WSDD) and then quickly add stuff without changing the WSDD document.

Author:
Glen Daniels (gdaniels@apache.org)

Fields inherited from interface org.apache.axis.EngineConfiguration

PROPERTY_NAME

Constructor Summary

SimpleProvider()
Default constructor.
SimpleProvider(EngineConfiguration defaultConfiguration)
Constructor which takes an EngineConfiguration which will be used as the default.
SimpleProvider(TypeMappingRegistry typeMappingRegistry)
Construct a SimpleProvider using the supplied TypeMappingRegistry.

Method Summary

void
addRole(String role)
Add a role to the configuration's global list
void
configureEngine(AxisEngine engine)
Configure an AxisEngine.
void
deployService(String name, SOAPService service)
void
deployService(QName qname, SOAPService service)
void
deployTransport(String name, Handler transport)
void
deployTransport(QName qname, Handler transport)
Iterator
getDeployedServices()
Get an enumeration of the services deployed to this engine
Hashtable
getGlobalOptions()
Returns the global configuration options.
Handler
getGlobalRequest()
Returns a global request handler.
Handler
getGlobalResponse()
Returns a global response handler.
Handler
getHandler(QName qname)
Retrieve an instance of the named handler.
List
getRoles()
Get a list of roles that this engine plays globally.
SOAPService
getService(QName qname)
Retrieve an instance of the named service.
SOAPService
getServiceByNamespaceURI(String namespace)
Get a service which has been mapped to a particular namespace
Handler
getTransport(QName qname)
Retrieve an instance of the named transport.
TypeMapping
getTypeMapping(String encodingStyle)
TypeMappingRegistry
getTypeMappingRegistry()
Get our TypeMappingRegistry.
void
removeRole(String role)
Remove a role from the configuration's global list
void
setGlobalOptions(Hashtable options)
Set the global options Hashtable
void
setGlobalRequest(Handler globalRequest)
Set the global request Handler
void
setGlobalResponse(Handler globalResponse)
Set the global response Handler
void
setRoles(List roles)
Set the global role list for this configuration.
void
writeEngineConfig(AxisEngine engine)
We don't write ourselves out, so this is a noop.

Constructor Details

SimpleProvider

public SimpleProvider()
Default constructor.


SimpleProvider

public SimpleProvider(EngineConfiguration defaultConfiguration)
Constructor which takes an EngineConfiguration which will be used as the default.


SimpleProvider

public SimpleProvider(TypeMappingRegistry typeMappingRegistry)
Construct a SimpleProvider using the supplied TypeMappingRegistry.

Parameters:
typeMappingRegistry -

Method Details

addRole

public void addRole(String role)
Add a role to the configuration's global list

Parameters:
role -


configureEngine

public void configureEngine(AxisEngine engine)
            throws ConfigurationException
Configure an AxisEngine. Right now just calls the default configuration if there is one, since we don't do anything special.
Specified by:
configureEngine in interface EngineConfiguration


deployService

public void deployService(String name,
                          SOAPService service)


deployService

public void deployService(QName qname,
                          SOAPService service)


deployTransport

public void deployTransport(String name,
                            Handler transport)


deployTransport

public void deployTransport(QName qname,
                            Handler transport)


getDeployedServices

public Iterator getDeployedServices()
            throws ConfigurationException
Get an enumeration of the services deployed to this engine
Specified by:
getDeployedServices in interface EngineConfiguration


getGlobalOptions

public Hashtable getGlobalOptions()
            throws ConfigurationException
Returns the global configuration options.
Specified by:
getGlobalOptions in interface EngineConfiguration


getGlobalRequest

public Handler getGlobalRequest()
            throws ConfigurationException
Returns a global request handler.
Specified by:
getGlobalRequest in interface EngineConfiguration


getGlobalResponse

public Handler getGlobalResponse()
            throws ConfigurationException
Returns a global response handler.
Specified by:
getGlobalResponse in interface EngineConfiguration


getHandler

public Handler getHandler(QName qname)
            throws ConfigurationException
Retrieve an instance of the named handler.
Specified by:
getHandler in interface EngineConfiguration

Parameters:
qname - the QName identifying the Handler

Returns:
the Handler associated with qname

Throws:
ConfigurationException - if there was a failure in resolving qname


getRoles

public List getRoles()
Get a list of roles that this engine plays globally. Services within the engine configuration may also add additional roles.
Specified by:
getRoles in interface EngineConfiguration

Returns:
a List of the roles for this engine


getService

public SOAPService getService(QName qname)
            throws ConfigurationException
Retrieve an instance of the named service.
Specified by:
getService in interface EngineConfiguration

Parameters:
qname - the QName identifying the Service

Returns:
the Service associated with qname

Throws:
ConfigurationException - if there was an error resolving the qname


getServiceByNamespaceURI

public SOAPService getServiceByNamespaceURI(String namespace)
            throws ConfigurationException
Get a service which has been mapped to a particular namespace
Specified by:
getServiceByNamespaceURI in interface EngineConfiguration

Parameters:
namespace - a namespace URI

Returns:
an instance of the appropriate Service, or null


getTransport

public Handler getTransport(QName qname)
            throws ConfigurationException
Retrieve an instance of the named transport.
Specified by:
getTransport in interface EngineConfiguration

Parameters:
qname - the QName of the transport

Returns:
a Handler implementing the transport

Throws:
ConfigurationException - if there was an error resolving the transport


getTypeMapping

public TypeMapping getTypeMapping(String encodingStyle)
            throws ConfigurationException


getTypeMappingRegistry

public TypeMappingRegistry getTypeMappingRegistry()
            throws ConfigurationException
Get our TypeMappingRegistry. Returns our specific one if we have one, otherwise the one from our defaultConfiguration. If we don't have one and also don't have a defaultConfiguration, we create one.
Specified by:
getTypeMappingRegistry in interface EngineConfiguration


removeRole

public void removeRole(String role)
Remove a role from the configuration's global list

Parameters:
role -


setGlobalOptions

public void setGlobalOptions(Hashtable options)
Set the global options Hashtable

Parameters:
options -


setGlobalRequest

public void setGlobalRequest(Handler globalRequest)
Set the global request Handler

Parameters:
globalRequest -


setGlobalResponse

public void setGlobalResponse(Handler globalResponse)
Set the global response Handler

Parameters:
globalResponse -


setRoles

public void setRoles(List roles)
Set the global role list for this configuration. Note that we use the actual passed value, so if anyone else changes that collection, our role list will change. Be careful to pass this a cloned list if you want to change the list later without affecting the config.

Parameters:
roles -


writeEngineConfig

public void writeEngineConfig(AxisEngine engine)
            throws ConfigurationException
We don't write ourselves out, so this is a noop.
Specified by:
writeEngineConfig in interface EngineConfiguration


Copyright B) 2005 Apache Web Services Project. All Rights Reserved.