com.sibvisions.rad.server
Class DirectServerConnection

java.lang.Object
  extended by com.sibvisions.rad.server.DirectServerConnection
All Implemented Interfaces:
IConnection

public class DirectServerConnection
extends java.lang.Object
implements IConnection

The DirectServerConnection is an IConnection implementation for a direct server communication. The calls will be sent to the server without serialization.


Field Summary
 
Fields inherited from interface javax.rad.remote.IConnection
COMPRESSION_BYTES, FLAG_ACKNOWLEDGE, FLAG_BROKEN, FLAG_ESTABLISHED, MET_SESSION_CREATE, MET_SESSION_DESTROY, MET_SESSION_GET_PROPERTIES, MET_SESSION_GET_PROPERTY, MET_SESSION_SET_NEW_PASSWORD, MET_SESSION_SET_PROPERTY, MET_SESSION_SETCHECKALIVE, MET_SESSION_SUBSESSION_CREATE, MODE_COMPRESSED, MODE_UNCOMPRESSED, NOPARAMETER, OBJ_SESSION, TYPE_CALL_ERROR, TYPE_CALL_RESULT, TYPE_CALLBACK_ERROR, TYPE_CALLBACK_RESULT, TYPE_CALLBACKRESULT_RESULT, TYPE_PROPERTY_RESULT
 
Constructor Summary
DirectServerConnection()
          Creates a new instance of DirectServerConnection with a new Server instance.
DirectServerConnection(IDirectServer pServer)
          Creates a new instance of DirectServerConnection for a IDirectServer implementation.
 
Method Summary
 void addCallBackResultListener(ICallBackResultListener pListener)
          Adds an ICallBackResultListener to the list of registered listeners.
 void addPropertyChangedListener(IConnectionPropertyChangedListener pListener)
          Adds an IConnectionPropertyChangedListener to the list of registered listeners.
 java.lang.Object[] call(ConnectionInfo pConnectionInfo, java.lang.String[] pObjectName, java.lang.String[] pMethod, java.lang.Object[][] pParams, ICallBackListener[] pCallBack)
          Calls desired methods from a remote server object.
 void close(ConnectionInfo pConnectionInfo)
          Close the connection to the server.
 java.util.Hashtable<java.lang.String,java.lang.Object> getProperties(ConnectionInfo pConnectionInfo)
          Gets a clone of all connection properties.
 java.lang.Object getProperty(ConnectionInfo pConnectionInfo, java.lang.String pName)
          Gets a connection property.
 boolean isCalling()
          Gets whether a call is active.
 boolean isOpen(ConnectionInfo pConnectionInfo)
          Checks if the connection to the server is opened.
 void open(ConnectionInfo pConnectionInfo)
          Opens the connection to the server.
 void openSub(ConnectionInfo pConnectionInfo, ConnectionInfo pConnectionInfoSub)
          Opens a new sub connection.
 void removeCallBackResultListener(ICallBackResultListener pListener)
          Removes an ICallBackResultListener from the list of registered listeners.
 void removePropertyChangedListener(IConnectionPropertyChangedListener pListener)
          Removes an IConnectionPropertyChangedListener from the list of registered listeners.
 ConnectionInfo[] setAndCheckAlive(ConnectionInfo pConnectionInfo, ConnectionInfo[] pSubConnections)
          Sets the alive state for a connection, on the server, and validates the alive state of subconnections.
 void setNewPassword(ConnectionInfo pConnectionInfo, java.lang.String pOldPassword, java.lang.String pNewPassword)
          Sets a new password for the connected user.
 void setProperty(ConnectionInfo pConnectionInfo, java.lang.String pName, java.lang.Object pValue)
          Sets a connection property.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DirectServerConnection

public DirectServerConnection()
Creates a new instance of DirectServerConnection with a new Server instance.


DirectServerConnection

public DirectServerConnection(IDirectServer pServer)
Creates a new instance of DirectServerConnection for a IDirectServer implementation.

Parameters:
pServer - the server
Method Detail

open

public void open(ConnectionInfo pConnectionInfo)
          throws java.lang.Throwable
Opens the connection to the server. The credentials have to be a key/value mapping in the connection information.

Specified by:
open in interface IConnection
Parameters:
pConnectionInfo - the connection information
Throws:
java.lang.Throwable - if the connection can not be established

openSub

public void openSub(ConnectionInfo pConnectionInfo,
                    ConnectionInfo pConnectionInfoSub)
             throws java.lang.Throwable
Opens a new sub connection. The name of the sub connection has to be a key/value mapping in the sub connection information.

Specified by:
openSub in interface IConnection
Parameters:
pConnectionInfo - the connection information of the master connection
pConnectionInfoSub - the connection information of the sub connection
Throws:
java.lang.Throwable - communication error, security checks, invalid method, ...

isOpen

public boolean isOpen(ConnectionInfo pConnectionInfo)
Checks if the connection to the server is opened.

Specified by:
isOpen in interface IConnection
Parameters:
pConnectionInfo - the connection information
Returns:
true if the connection is open

close

public void close(ConnectionInfo pConnectionInfo)
           throws java.lang.Throwable
Close the connection to the server.

Specified by:
close in interface IConnection
Parameters:
pConnectionInfo - the connection information
Throws:
java.lang.Throwable - if the connection can not be established

call

public java.lang.Object[] call(ConnectionInfo pConnectionInfo,
                               java.lang.String[] pObjectName,
                               java.lang.String[] pMethod,
                               java.lang.Object[][] pParams,
                               ICallBackListener[] pCallBack)
                        throws java.lang.Throwable
Calls desired methods from a remote server object.

Specified by:
call in interface IConnection
Parameters:
pConnectionInfo - the connection information
pObjectName - list of server object names/aliases
pMethod - method names which should be called
pParams - parameters for the method calls
pCallBack - callback listeners for asynchronous or null for synchronous calls
Returns:
result list from the remote method calls
Throws:
java.lang.Throwable - communication error, security checks, invalid method, ...

isCalling

public boolean isCalling()
Gets whether a call is active.

Specified by:
isCalling in interface IConnection
Returns:
true if a call is active, false otherwise

setAndCheckAlive

public ConnectionInfo[] setAndCheckAlive(ConnectionInfo pConnectionInfo,
                                         ConnectionInfo[] pSubConnections)
                                  throws java.lang.Throwable
Sets the alive state for a connection, on the server, and validates the alive state of subconnections.

Specified by:
setAndCheckAlive in interface IConnection
Parameters:
pConnectionInfo - the connection information
pSubConnections - the connection information of the sub connections, for the alive validation
Returns:
the invalid/expired sub connections
Throws:
java.lang.Throwable - communication error, security checks, invalid method, ...

setProperty

public void setProperty(ConnectionInfo pConnectionInfo,
                        java.lang.String pName,
                        java.lang.Object pValue)
                 throws java.lang.Throwable
Sets a connection property.

Specified by:
setProperty in interface IConnection
Parameters:
pConnectionInfo - the connection information
pName - the property name
pValue - the value of the property or null to delete the property
Throws:
java.lang.Throwable - communication error, security checks, invalid method, ...
java.lang.SecurityException - if it's not allowed to set the property

getProperty

public java.lang.Object getProperty(ConnectionInfo pConnectionInfo,
                                    java.lang.String pName)
                             throws java.lang.Throwable
Gets a connection property.

Specified by:
getProperty in interface IConnection
Parameters:
pConnectionInfo - the connection information
pName - the property name
Returns:
the value of the property or null if the property is not set
Throws:
java.lang.Throwable - communication error, security checks, invalid method, ...

getProperties

public java.util.Hashtable<java.lang.String,java.lang.Object> getProperties(ConnectionInfo pConnectionInfo)
                                                                     throws java.lang.Throwable
Gets a clone of all connection properties.

Specified by:
getProperties in interface IConnection
Parameters:
pConnectionInfo - the connection information
Returns:
a Hashtable with property names and values
Throws:
java.lang.Throwable - communication error, security checks, invalid method, ...

setNewPassword

public void setNewPassword(ConnectionInfo pConnectionInfo,
                           java.lang.String pOldPassword,
                           java.lang.String pNewPassword)
                    throws java.lang.Throwable
Sets a new password for the connected user.

Specified by:
setNewPassword in interface IConnection
Parameters:
pConnectionInfo - the connection information
pOldPassword - the old password
pNewPassword - the new password
Throws:
java.lang.Throwable - communication error, security checks, invalid method, ...

addPropertyChangedListener

public void addPropertyChangedListener(IConnectionPropertyChangedListener pListener)
Adds an IConnectionPropertyChangedListener to the list of registered listeners.

Specified by:
addPropertyChangedListener in interface IConnection
Parameters:
pListener - the new property changed listener.

removePropertyChangedListener

public void removePropertyChangedListener(IConnectionPropertyChangedListener pListener)
Removes an IConnectionPropertyChangedListener from the list of registered listeners.

Specified by:
removePropertyChangedListener in interface IConnection
Parameters:
pListener - the property changed listener to remove

addCallBackResultListener

public void addCallBackResultListener(ICallBackResultListener pListener)
Adds an ICallBackResultListener to the list of registered listeners.

Specified by:
addCallBackResultListener in interface IConnection
Parameters:
pListener - the new callback result listener.

removeCallBackResultListener

public void removeCallBackResultListener(ICallBackResultListener pListener)
Removes an ICallBackResultListener from the list of registered listeners.

Specified by:
removeCallBackResultListener in interface IConnection
Parameters:
pListener - the callback result listener to remove


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.