xmlBlaster 2.1.0 API

org.xmlBlaster.protocol.local
Class CallbackLocalDriver

java.lang.Object
  extended by org.xmlBlaster.protocol.local.CallbackLocalDriver
All Implemented Interfaces:
I_CallbackDriver, I_Plugin

public class CallbackLocalDriver
extends java.lang.Object
implements I_CallbackDriver

A server callback driver for in jvm calls.

The requirements for this driver is that an object of type I_LocalCallback is registered in objectEntry at callbackAddress.getRawAddress().

Version:
$Revision: 1.3 $
Author:
Peter Antman
See Also:
LocalCallbackImpl

Field Summary
private  I_CallbackExtended callback
           
private  CallbackAddress callbackAddress
           
private  Global glob
           
private static java.util.logging.Logger log
           
private  java.lang.String ME
           
 
Constructor Summary
CallbackLocalDriver()
           
 
Method Summary
private  I_CallbackExtended getCallback()
           
 java.lang.String getName()
          Get a human readable name of this driver
 java.lang.String getProtocolId()
          Access the xmlBlaster internal name of the protocol driver.
 java.lang.String getRawAddress()
          Get the address how to access this driver.
 java.lang.String getType()
          Enforced by I_Plugin
 java.lang.String getVersion()
          Enforced by I_Plugin
 void init(Global glob, CallbackAddress callbackAddress)
          Get callback reference here (== connectLowLevel()).
 void init(Global glob, PluginInfo pluginInfo)
          This method is not used, since callbacks plugins are actually factories.
 boolean isAlive()
           
 java.lang.String ping(java.lang.String qos)
          Ping to check if callback server is alive.
 I_ProgressListener registerProgressListener(I_ProgressListener listener)
          Register a listener for to receive information about the progress of incoming data.
 java.lang.String[] sendUpdate(MsgUnitRaw[] msgArr)
          This sends the update to the client.
 void sendUpdateOneway(MsgUnitRaw[] msgArr)
          The oneway variant, without return value.
 void shutdown()
          This method shuts down the driver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ME

private java.lang.String ME

glob

private Global glob

log

private static java.util.logging.Logger log

callback

private I_CallbackExtended callback

callbackAddress

private CallbackAddress callbackAddress
Constructor Detail

CallbackLocalDriver

public CallbackLocalDriver()
Method Detail

getName

public final java.lang.String getName()
Get a human readable name of this driver

Specified by:
getName in interface I_CallbackDriver

getProtocolId

public java.lang.String getProtocolId()
Access the xmlBlaster internal name of the protocol driver.

Specified by:
getProtocolId in interface I_CallbackDriver
Returns:
"LOCAL"

getType

public java.lang.String getType()
Enforced by I_Plugin

Specified by:
getType in interface I_Plugin

getVersion

public java.lang.String getVersion()
Enforced by I_Plugin

Specified by:
getVersion in interface I_Plugin

init

public void init(Global glob,
                 PluginInfo pluginInfo)
This method is not used, since callbacks plugins are actually factories. This method is called by the PluginManager (enforced by I_Plugin).

Specified by:
init in interface I_Plugin
See Also:
I_Plugin.init(org.xmlBlaster.util.Global,org.xmlBlaster.util.plugin.PluginInfo)

getRawAddress

public final java.lang.String getRawAddress()
Get the address how to access this driver.

Specified by:
getRawAddress in interface I_CallbackDriver
Returns:
"rmi://www.mars.universe:1099/I_AuthServer"

getCallback

private final I_CallbackExtended getCallback()
                                      throws XmlBlasterException
Returns:
The callback to be invoked. Note that this is known only when the client side has invoked the init method. Before that the callback will be unknown and this method will throw a Communication Exception.
Throws:
XmlBlasterException

init

public final void init(Global glob,
                       CallbackAddress callbackAddress)
                throws XmlBlasterException
Get callback reference here (== connectLowLevel()).

Specified by:
init in interface I_CallbackDriver
Parameters:
callbackAddress - Contains the stringified local object in in Global callback handle of the client
Throws:
XmlBlasterException

sendUpdate

public final java.lang.String[] sendUpdate(MsgUnitRaw[] msgArr)
                                    throws XmlBlasterException
This sends the update to the client.

Specified by:
sendUpdate in interface I_CallbackDriver
Parameters:
msgArr - Array of all messages to send, is guaranteed to never be null
Returns:
Clients should return a qos as follows. An empty qos string "" is valid as well and interpreted as OK
  <qos>
     <state id='OK'/>  <!-- Client processing state OK | ERROR ... see Constants.java -->
  </qos>
 
Throws:
Exceptions - thrown from client are re thrown as ErrorCode.USER*
XmlBlasterException

sendUpdateOneway

public void sendUpdateOneway(MsgUnitRaw[] msgArr)
                      throws XmlBlasterException
The oneway variant, without return value.

Specified by:
sendUpdateOneway in interface I_CallbackDriver
Parameters:
msgArr - Array of all messages to send, is guaranteed to never be null
Throws:
XmlBlasterException - Is never from the client (oneway).

ping

public final java.lang.String ping(java.lang.String qos)
                            throws XmlBlasterException
Ping to check if callback server is alive. This ping checks the availability on the application level.

Specified by:
ping in interface I_CallbackDriver
Parameters:
qos - Currently an empty string ""
Returns:
Currently an empty string ""
Throws:
XmlBlasterException - If client not reachable
See Also:
org.xmlBlaster.protocol.I_XmlBlaster#ping(String)

registerProgressListener

public I_ProgressListener registerProgressListener(I_ProgressListener listener)
Description copied from interface: I_CallbackDriver
Register a listener for to receive information about the progress of incoming data. Only one listener is supported, the last call overwrites older calls.

Specified by:
registerProgressListener in interface I_CallbackDriver
Parameters:
listener - Your listener, pass 0 to unregister.
Returns:
The previously registered listener or 0

shutdown

public void shutdown()
This method shuts down the driver.

Specified by:
shutdown in interface I_Plugin

isAlive

public boolean isAlive()
Specified by:
isAlive in interface I_CallbackDriver
Returns:
true if the plugin is still alive, false otherwise

xmlBlaster 2.1.0 API

Copyright © 1999-2011 The xmlBlaster.org contributers.