org.apache.axis
Class AxisEngine

java.lang.Object
  |
  +--org.apache.axis.handlers.BasicHandler
        |
        +--org.apache.axis.AxisEngine
All Implemented Interfaces:
Handler, java.io.Serializable
Direct Known Subclasses:
AxisClient, AxisServer

public abstract class AxisEngine
extends BasicHandler

An AxisEngine is the base class for AxisClient and AxisServer. Handles common functionality like dealing with the handler/service registries and loading properties.

Author:
Glen Daniels (gdaniels@macromedia.com)
See Also:
Serialized Form

Field Summary
protected  HandlerRegistry _handlerRegistry
          The handler registry this Engine uses.
protected  boolean _hasSafePassword
          Has the user changed the password yet?
protected  HandlerRegistry _serviceRegistry
          The service registry this Engine uses.
protected  TypeMappingRegistry _typeMappingRegistry
          This Engine's global type mappings
protected  ConfigurationProvider configProvider
          Our go-to guy for configuration...
static java.lang.String PROP_DEBUG_FILE
           
static java.lang.String PROP_DEBUG_LEVEL
           
static java.lang.String PROP_DOMULTIREFS
           
static java.lang.String PROP_PASSWORD
           
static java.lang.String PROP_XML_DECL
           
protected  SupplierRegistry transportRegistry
          A map of protocol names to "client" (sender) transports
 
Fields inherited from class org.apache.axis.handlers.BasicHandler
name, options
 
Constructor Summary
AxisEngine()
          No-arg constructor.
AxisEngine(ConfigurationProvider configProvider)
           
 
Method Summary
 void deployHandler(java.lang.String key, Handler handler)
          Deploy a Handler into our handler registry
 void deployService(java.lang.String key, SOAPService service)
          Deploy a Service into our service registry
 void deployTransport(java.lang.String key, Handler transport)
          Deploy a (client) Transport
 void deployTransport(java.lang.String key, Supplier supplier)
          Deploy a (client) Transport
 Session getApplicationSession()
          accessor only, for application session (could call it "engine session" instead, but named with reference to Apache SOAP's notion of "application scope")
abstract  AxisEngine getClientEngine()
          Client engine access An AxisEngine may define another specific AxisEngine to be used by newly created ServiceClients.
 HandlerRegistry getHandlerRegistry()
           
 HandlerRegistry getServiceRegistry()
           
 SupplierRegistry getTransportRegistry()
           
 TypeMappingRegistry getTypeMappingRegistry()
           
 boolean hasSafePassword()
           
 void init()
          (re)initialize - What should really go in here???
 void registerTypeMapping(QName qName, java.lang.Class cls, DeserializerFactory deserFactory, Serializer serializer)
          Register a new global type mapping
 void saveConfiguration()
          Write out our engine configuration.
 void setAdminPassword(java.lang.String pw)
           
 void setHandlerRegistry(HandlerRegistry registry)
           
 void setServiceRegistry(HandlerRegistry registry)
           
 void setTransportRegistry(SupplierRegistry registry)
           
 void undeployHandler(java.lang.String key)
          Undeploy (remove) a Handler from the handler registry
 void undeployService(java.lang.String key)
          Undeploy (remove) a Service from the handler registry
 void undeployTransport(java.lang.String key)
          Undeploy (remove) a client Transport
 void unregisterTypeMapping(QName qName, java.lang.Class cls)
          Unregister a global type mapping
 
Methods inherited from class org.apache.axis.handlers.BasicHandler
addOption, canHandleBlock, cleanup, generateWSDL, getDeploymentData, getName, getOption, getOptions, invoke, setName, setOptions, undo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_XML_DECL

public static final java.lang.String PROP_XML_DECL

PROP_DEBUG_LEVEL

public static final java.lang.String PROP_DEBUG_LEVEL

PROP_DEBUG_FILE

public static final java.lang.String PROP_DEBUG_FILE

PROP_DOMULTIREFS

public static final java.lang.String PROP_DOMULTIREFS

PROP_PASSWORD

public static final java.lang.String PROP_PASSWORD

configProvider

protected ConfigurationProvider configProvider
Our go-to guy for configuration...

_handlerRegistry

protected HandlerRegistry _handlerRegistry
The handler registry this Engine uses.

_serviceRegistry

protected HandlerRegistry _serviceRegistry
The service registry this Engine uses.

transportRegistry

protected SupplierRegistry transportRegistry
A map of protocol names to "client" (sender) transports

_typeMappingRegistry

protected TypeMappingRegistry _typeMappingRegistry
This Engine's global type mappings

_hasSafePassword

protected boolean _hasSafePassword
Has the user changed the password yet?
Constructor Detail

AxisEngine

public AxisEngine()
No-arg constructor.

AxisEngine

public AxisEngine(ConfigurationProvider configProvider)
Method Detail

init

public void init()
(re)initialize - What should really go in here???
Overrides:
init in class BasicHandler

saveConfiguration

public void saveConfiguration()
Write out our engine configuration.

hasSafePassword

public boolean hasSafePassword()

setAdminPassword

public void setAdminPassword(java.lang.String pw)

getHandlerRegistry

public HandlerRegistry getHandlerRegistry()

setHandlerRegistry

public void setHandlerRegistry(HandlerRegistry registry)

getServiceRegistry

public HandlerRegistry getServiceRegistry()

setServiceRegistry

public void setServiceRegistry(HandlerRegistry registry)

getTransportRegistry

public SupplierRegistry getTransportRegistry()

setTransportRegistry

public void setTransportRegistry(SupplierRegistry registry)

getTypeMappingRegistry

public TypeMappingRegistry getTypeMappingRegistry()

getClientEngine

public abstract AxisEngine getClientEngine()
Client engine access An AxisEngine may define another specific AxisEngine to be used by newly created ServiceClients. For instance, a server may create an AxisClient and allow deployment to it. Then the server's services may create ServiceClient objects which can access the AxisClient's deployed handlers and transports.

registerTypeMapping

public void registerTypeMapping(QName qName,
                                java.lang.Class cls,
                                DeserializerFactory deserFactory,
                                Serializer serializer)
Register a new global type mapping

unregisterTypeMapping

public void unregisterTypeMapping(QName qName,
                                  java.lang.Class cls)
Unregister a global type mapping

deployHandler

public void deployHandler(java.lang.String key,
                          Handler handler)
Deploy a Handler into our handler registry

undeployHandler

public void undeployHandler(java.lang.String key)
Undeploy (remove) a Handler from the handler registry

deployService

public void deployService(java.lang.String key,
                          SOAPService service)
Deploy a Service into our service registry

undeployService

public void undeployService(java.lang.String key)
Undeploy (remove) a Service from the handler registry

deployTransport

public void deployTransport(java.lang.String key,
                            Handler transport)
Deploy a (client) Transport

deployTransport

public void deployTransport(java.lang.String key,
                            Supplier supplier)
Deploy a (client) Transport

undeployTransport

public void undeployTransport(java.lang.String key)
Undeploy (remove) a client Transport

getApplicationSession

public Session getApplicationSession()
accessor only, for application session (could call it "engine session" instead, but named with reference to Apache SOAP's notion of "application scope")


Copyright © 2001 Apache XML Project. All Rights Reserved.