com.adventnet.adaptors
Class AbstractAdaptor

java.lang.Object
  extended by com.adventnet.adaptors.AbstractAdaptor
All Implemented Interfaces:
Adaptor, java.io.Serializable, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster
Direct Known Subclasses:
CorbaAdaptor, HtmlAdaptor, HttpConnector, RMIAdaptor, SnmpAdaptor, TL1Adaptor

public abstract class AbstractAdaptor
extends java.lang.Object
implements Adaptor, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, java.io.Serializable

This abstract class abstracts the common behaviour of all Adaptors. All Protocol Adaptors must extend this class .

Since:
Adaptor Framework Version 2.0
See Also:
com.adventnet.adaptor.Adaptor, com.adventnet.adaptor.Protocol, Serialized Form

Nested Class Summary
 class AbstractAdaptor.ProcessNotification
           
 
Field Summary
(package private) static boolean handleNotificationinNewThread
           
protected  java.util.Hashtable notifications
           
protected  int port
           
protected  AbstractAdaptor.ProcessNotification processnotification
           
protected  int state
           
 
Constructor Summary
AbstractAdaptor()
           
 
Method Summary
 void addNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)
          This method can be used to Add a Notification Listener for this Adaptor
protected abstract  void bind()
          Must be used to bind to a naming service or to bind to a ServerSocket
 void changeState(int i)
          This method changes the state of the adaptor
protected abstract  void destroyAdaptor()
          Kills the adaptor and releases all its resources
abstract  void enableAuthentication(boolean flag)
          This abstract method needs to be implemented by the Adaptor for providing Authentication
abstract  void enableAuthorisation(boolean flag)
          This abstract method needs to be implemented by the Adaptor for providing Authorisation
abstract  javax.management.ObjectName getAdaptorObjectName()
          Returns the adaptor object name
 java.lang.String getAdaptorVersion()
          Returns the adaptor version implemented by this Adaptor
 java.lang.String getHost()
          This method returns the host on which the adaptor resides
 javax.management.MBeanNotificationInfo[] getNotificationInfo()
          This method returns the NotificationInfo
 int getPort()
          This method returns the port on which the adaptor listens
abstract  java.lang.String getProtocol()
          This abstract method returns the Protocol on which the adaptor is listening
 int getState()
          This method returns the state of the adaptor
 java.lang.String getStateInString()
          This method returns the state of the adaptor in string format
 void handleNotification(javax.management.Notification notification, java.lang.Object handback)
          This method redirects notification to the processNotification method if handleNotificationinNewThread is set to true.
protected abstract  void instantiateAdaptor()
          Must be implemented by the adaptor and should be used to instantiate itsefl
 boolean isActive()
          This method returns true if the Adaptor is in STARTING or STARTED state
 boolean isSecure()
          Default returns false .
 void postDeregister()
          This method must be implemented by the Adaptor if it wants to perform any Post Deregistration tasks
 void postRegister(java.lang.Boolean registrationDone)
          This method must be overridden by the Adaptor if the Adaptor wants to perform any Post Registration tasks
 void preDeregister()
          This method must be overridden by the Adaptor if it wants to perform any Pre Deregistration tasks
 javax.management.ObjectName preRegister(javax.management.MBeanServer mbeanServer, javax.management.ObjectName objectName)
          This method must be overriden by the Adaptor if the Adaptor wants to perform any Pre registration tasks
protected  void processNotification(javax.management.Notification notification, java.lang.Object handback)
          Needs to overriden by the Adaptor implementation.
 void removeNotificationListener(javax.management.NotificationListener listener)
          This method removes the Notification Listeners
 void setPort(int port)
          This method sets the port on which this adaptor is listening
 void startService()
          This method starts the Adaptor service
 void stopService()
          This method stops the Adaptor
protected abstract  void unbind()
          Must be used to unbind from a naming service or to relese a ServerSocket
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

port

protected int port

state

protected int state

processnotification

protected AbstractAdaptor.ProcessNotification processnotification

notifications

protected java.util.Hashtable notifications

handleNotificationinNewThread

static boolean handleNotificationinNewThread
Constructor Detail

AbstractAdaptor

public AbstractAdaptor()
Method Detail

getHost

public java.lang.String getHost()
This method returns the host on which the adaptor resides

Specified by:
getHost in interface Adaptor

getPort

public int getPort()
This method returns the port on which the adaptor listens

Specified by:
getPort in interface Adaptor

getProtocol

public abstract java.lang.String getProtocol()
This abstract method returns the Protocol on which the adaptor is listening

Specified by:
getProtocol in interface Adaptor

getState

public int getState()
This method returns the state of the adaptor

Specified by:
getState in interface Adaptor

getStateInString

public java.lang.String getStateInString()
This method returns the state of the adaptor in string format

Specified by:
getStateInString in interface Adaptor

setPort

public void setPort(int port)
             throws java.lang.IllegalStateException
This method sets the port on which this adaptor is listening

Specified by:
setPort in interface Adaptor
Throws:
java.lang.IllegalStateException - if the adaptor is STARTING or STARTED

isActive

public boolean isActive()
This method returns true if the Adaptor is in STARTING or STARTED state

Specified by:
isActive in interface Adaptor

isSecure

public boolean isSecure()
Default returns false . Needs to overriden by the Adaptor implementation

Specified by:
isSecure in interface Adaptor

enableAuthorisation

public abstract void enableAuthorisation(boolean flag)
                                  throws java.lang.UnsupportedOperationException
This abstract method needs to be implemented by the Adaptor for providing Authorisation

Specified by:
enableAuthorisation in interface Adaptor
Throws:
java.lang.UnsupportedOperationException - when authorisation is not suppported

enableAuthentication

public abstract void enableAuthentication(boolean flag)
                                   throws java.lang.UnsupportedOperationException
This abstract method needs to be implemented by the Adaptor for providing Authentication

Specified by:
enableAuthentication in interface Adaptor
Throws:
java.lang.UnsupportedOperationException - when authentication is not supported

startService

public void startService()
                  throws java.lang.IllegalStateException,
                         java.lang.Exception
This method starts the Adaptor service

Specified by:
startService in interface Adaptor
Throws:
java.lang.IllegalStateException - when the adaptor is in STARTED or STARTING state
java.lang.Exception

stopService

public void stopService()
                 throws java.lang.IllegalStateException
This method stops the Adaptor

Specified by:
stopService in interface Adaptor
Throws:
java.lang.IllegalStateException - when the adaptor is in STOPPED or STOPPING state

instantiateAdaptor

protected abstract void instantiateAdaptor()
                                    throws java.lang.InstantiationException
Must be implemented by the adaptor and should be used to instantiate itsefl

Throws:
java.lang.InstantiationException

bind

protected abstract void bind()
Must be used to bind to a naming service or to bind to a ServerSocket


unbind

protected abstract void unbind()
Must be used to unbind from a naming service or to relese a ServerSocket


destroyAdaptor

protected abstract void destroyAdaptor()
Kills the adaptor and releases all its resources


getAdaptorVersion

public java.lang.String getAdaptorVersion()
Returns the adaptor version implemented by this Adaptor

Specified by:
getAdaptorVersion in interface Adaptor

getAdaptorObjectName

public abstract javax.management.ObjectName getAdaptorObjectName()
Returns the adaptor object name

Specified by:
getAdaptorObjectName in interface Adaptor

addNotificationListener

public void addNotificationListener(javax.management.NotificationListener listener,
                                    javax.management.NotificationFilter filter,
                                    java.lang.Object handback)
                             throws java.lang.IllegalArgumentException
This method can be used to Add a Notification Listener for this Adaptor

Specified by:
addNotificationListener in interface javax.management.NotificationBroadcaster
Throws:
java.lang.IllegalArgumentException

getNotificationInfo

public javax.management.MBeanNotificationInfo[] getNotificationInfo()
This method returns the NotificationInfo

Specified by:
getNotificationInfo in interface javax.management.NotificationBroadcaster

removeNotificationListener

public void removeNotificationListener(javax.management.NotificationListener listener)
                                throws javax.management.ListenerNotFoundException
This method removes the Notification Listeners

Specified by:
removeNotificationListener in interface javax.management.NotificationBroadcaster
Throws:
javax.management.ListenerNotFoundException

changeState

public void changeState(int i)
This method changes the state of the adaptor


processNotification

protected void processNotification(javax.management.Notification notification,
                                   java.lang.Object handback)
Needs to overriden by the Adaptor implementation. This should be implemented by the adaptor classes to process the notifications.
This method should process the notification received by the adaptor


handleNotification

public final void handleNotification(javax.management.Notification notification,
                                     java.lang.Object handback)
This method redirects notification to the processNotification method if handleNotificationinNewThread is set to true.
If it is set to false then it is processed in the same thread


preRegister

public javax.management.ObjectName preRegister(javax.management.MBeanServer mbeanServer,
                                               javax.management.ObjectName objectName)
                                        throws java.lang.Exception
This method must be overriden by the Adaptor if the Adaptor wants to perform any Pre registration tasks

Specified by:
preRegister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception

postRegister

public void postRegister(java.lang.Boolean registrationDone)
This method must be overridden by the Adaptor if the Adaptor wants to perform any Post Registration tasks

Specified by:
postRegister in interface javax.management.MBeanRegistration

preDeregister

public void preDeregister()
                   throws java.lang.Exception
This method must be overridden by the Adaptor if it wants to perform any Pre Deregistration tasks

Specified by:
preDeregister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception

postDeregister

public void postDeregister()
This method must be implemented by the Adaptor if it wants to perform any Post Deregistration tasks

Specified by:
postDeregister in interface javax.management.MBeanRegistration