org.jacorb.notification.servant
Class AbstractAdmin

java.lang.Object
  extended byorg.jacorb.notification.servant.AbstractAdmin
All Implemented Interfaces:
FilterAdminOperations, FilterStage, FilterStageSource, ManageableServant, QoSAdminOperations
Direct Known Subclasses:
AbstractSupplierAdmin, ConsumerAdminImpl

public abstract class AbstractAdmin
extends java.lang.Object
implements QoSAdminOperations, FilterAdminOperations, FilterStage, ManageableServant

Abstract Baseclass for Adminobjects.

Version:
$Id: AbstractAdmin.java,v 1.13 2005/05/04 13:56:27 alphonse.bendt Exp $
Author:
Alphonse Bendt

Field Summary
 int channelID_
           
protected  org.picocontainer.MutablePicoContainer container_
           
protected static InterFilterGroupOperator DEFAULT_FILTER_GROUP_OPERATOR
          the default InterFilterGroupOperator used.
protected  org.apache.avalon.framework.logger.Logger logger_
           
protected  java.lang.Object modifyProxiesLock_
           
protected  OfferManager offerManager_
           
protected  java.util.Map pullServants_
           
protected  java.util.Map pushServants_
           
protected  SubscriptionManager subscriptionManager_
           
 
Constructor Summary
protected AbstractAdmin(IEventChannel channel, ORB orb, POA poa, org.apache.avalon.framework.configuration.Configuration config, MessageFactory messageFactory, OfferManager offerManager, SubscriptionManager subscriptionManager)
           
 
Method Summary
 POA _default_POA()
           
 int add_filter(Filter aFilter)
           
 void addDisposeHook(Disposable d)
           
 void addProxyEventListener(ProxyEventListener l)
           
protected  void addProxyToMap(AbstractProxy proxy, java.util.Map map, java.lang.Object lock)
           
protected  void configureInterFilterGroupOperator(AbstractProxy proxy)
          configure the InterFilterGroupOperator a proxy should use.
protected  void configureQoS(AbstractProxy proxy)
          configure initial QoS Settings for a proxy.
 void deactivate()
           
 void destroy()
           
 void dispose()
           
protected  void fireCreateProxyRequestEvent()
           
 int[] get_all_filters()
           
protected  int[] get_all_notify_proxies(java.util.Map map, java.lang.Object lock)
          return the ID's for all NotifyStyle proxies stored in the provided Map.
 Filter get_filter(int aFilterId)
           
 Property[] get_qos()
           
 java.util.List getFilters()
          get Filters associated to this FilterStage.
 java.lang.Integer getID()
           
 MappingFilter getLifetimeFilter()
          admin does not have a lifetime filter
protected  MessageFactory getMessageFactory()
           
protected  ORB getORB()
           
protected  POA getPOA()
           
 MappingFilter getPriorityFilter()
          admin does not have a priority filter
 java.util.List getProxies()
           
protected  AbstractProxy getProxy(int id)
          fetch the proxy specified by the provided id. this method will not access an event style proxy.
abstract  Servant getServant()
           
 boolean hasInterFilterGroupOperatorOR()
          check if this FilterStage has OR Semantic enabled.
 boolean hasLifetimeFilter()
          admin does not have a lifetime filter
 boolean hasPriorityFilter()
          admin does not have a priority filter
 boolean isDisposed()
          check if this FilterStage has been disposed.
 EventChannel MyChannel()
           
 int MyID()
           
 InterFilterGroupOperator MyOperator()
           
protected  org.picocontainer.ComponentAdapter newComponentAdapter(java.lang.Object key, java.lang.Class implementation)
           
protected  org.picocontainer.MutablePicoContainer newContainerForEventStyleProxy()
           
protected  org.picocontainer.MutablePicoContainer newContainerForNotifyStyleProxy()
           
protected  org.picocontainer.MutablePicoContainer newContainerForTypedProxy(java.lang.String supportedInterface)
           
 void remove_all_filters()
           
 void remove_filter(int aFilterId)
           
 void removeProxyEventListener(ProxyEventListener listener)
           
 void set_qos(Property[] props)
           
 void setInterFilterGroupOperator(InterFilterGroupOperator op)
           
 void validate_qos(Property[] props, NamedPropertyRangeSeqHolder propertyRangeSeqHolder)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jacorb.notification.interfaces.FilterStage
getMessageConsumer, hasMessageConsumer
 
Methods inherited from interface org.jacorb.notification.interfaces.FilterStageSource
getSubsequentFilterStages
 
Methods inherited from interface org.jacorb.notification.servant.ManageableServant
activate
 

Field Detail

DEFAULT_FILTER_GROUP_OPERATOR

protected static final InterFilterGroupOperator DEFAULT_FILTER_GROUP_OPERATOR
the default InterFilterGroupOperator used.


container_

protected final org.picocontainer.MutablePicoContainer container_

offerManager_

protected final OfferManager offerManager_

subscriptionManager_

protected final SubscriptionManager subscriptionManager_

logger_

protected final org.apache.avalon.framework.logger.Logger logger_

modifyProxiesLock_

protected final java.lang.Object modifyProxiesLock_

pullServants_

protected final java.util.Map pullServants_

pushServants_

protected final java.util.Map pushServants_

channelID_

public final int channelID_
Constructor Detail

AbstractAdmin

protected AbstractAdmin(IEventChannel channel,
                        ORB orb,
                        POA poa,
                        org.apache.avalon.framework.configuration.Configuration config,
                        MessageFactory messageFactory,
                        OfferManager offerManager,
                        SubscriptionManager subscriptionManager)
Method Detail

addDisposeHook

public final void addDisposeHook(Disposable d)

setInterFilterGroupOperator

public void setInterFilterGroupOperator(InterFilterGroupOperator op)

getPOA

protected POA getPOA()

getORB

protected ORB getORB()

getMessageFactory

protected MessageFactory getMessageFactory()

_default_POA

public POA _default_POA()

getFilters

public java.util.List getFilters()
Description copied from interface: FilterStage
get Filters associated to this FilterStage.

Specified by:
getFilters in interface FilterStage

add_filter

public int add_filter(Filter aFilter)
Specified by:
add_filter in interface FilterAdminOperations

remove_filter

public void remove_filter(int aFilterId)
                   throws FilterNotFound
Specified by:
remove_filter in interface FilterAdminOperations
Throws:
FilterNotFound

get_filter

public Filter get_filter(int aFilterId)
                  throws FilterNotFound
Specified by:
get_filter in interface FilterAdminOperations
Throws:
FilterNotFound

get_all_filters

public int[] get_all_filters()
Specified by:
get_all_filters in interface FilterAdminOperations

remove_all_filters

public void remove_all_filters()
Specified by:
remove_all_filters in interface FilterAdminOperations

MyOperator

public final InterFilterGroupOperator MyOperator()

MyChannel

public final EventChannel MyChannel()

MyID

public final int MyID()

get_qos

public Property[] get_qos()
Specified by:
get_qos in interface QoSAdminOperations

set_qos

public void set_qos(Property[] props)
             throws UnsupportedQoS
Specified by:
set_qos in interface QoSAdminOperations
Throws:
UnsupportedQoS

validate_qos

public void validate_qos(Property[] props,
                         NamedPropertyRangeSeqHolder propertyRangeSeqHolder)
                  throws UnsupportedQoS
Specified by:
validate_qos in interface QoSAdminOperations
Throws:
UnsupportedQoS

destroy

public void destroy()

dispose

public void dispose()

deactivate

public void deactivate()
Specified by:
deactivate in interface ManageableServant

getServant

public abstract Servant getServant()

getID

public java.lang.Integer getID()

isDisposed

public boolean isDisposed()
Description copied from interface: FilterStage
check if this FilterStage has been disposed.

Specified by:
isDisposed in interface FilterStage

fireCreateProxyRequestEvent

protected void fireCreateProxyRequestEvent()
                                    throws AdminLimitExceeded
Throws:
AdminLimitExceeded

hasLifetimeFilter

public boolean hasLifetimeFilter()
admin does not have a lifetime filter

Specified by:
hasLifetimeFilter in interface FilterStage

hasPriorityFilter

public boolean hasPriorityFilter()
admin does not have a priority filter

Specified by:
hasPriorityFilter in interface FilterStage

getLifetimeFilter

public MappingFilter getLifetimeFilter()
admin does not have a lifetime filter

Specified by:
getLifetimeFilter in interface FilterStage
Returns:
a LifetimeFilter or null if no Filter is attached

getPriorityFilter

public MappingFilter getPriorityFilter()
admin does not have a priority filter

Specified by:
getPriorityFilter in interface FilterStage
Returns:
a PriorityFilter or null if no Filter is attached

hasInterFilterGroupOperatorOR

public boolean hasInterFilterGroupOperatorOR()
Description copied from interface: FilterStage
check if this FilterStage has OR Semantic enabled.

Specified by:
hasInterFilterGroupOperatorOR in interface FilterStage

getProxy

protected AbstractProxy getProxy(int id)
                          throws ProxyNotFound
fetch the proxy specified by the provided id. this method will not access an event style proxy.

Throws:
ProxyNotFound

get_all_notify_proxies

protected int[] get_all_notify_proxies(java.util.Map map,
                                       java.lang.Object lock)
return the ID's for all NotifyStyle proxies stored in the provided Map.


configureQoS

protected void configureQoS(AbstractProxy proxy)
                     throws UnsupportedQoS
configure initial QoS Settings for a proxy.

Throws:
UnsupportedQoS

configureInterFilterGroupOperator

protected void configureInterFilterGroupOperator(AbstractProxy proxy)
configure the InterFilterGroupOperator a proxy should use.


addProxyEventListener

public void addProxyEventListener(ProxyEventListener l)

removeProxyEventListener

public void removeProxyEventListener(ProxyEventListener listener)

addProxyToMap

protected void addProxyToMap(AbstractProxy proxy,
                             java.util.Map map,
                             java.lang.Object lock)

getProxies

public final java.util.List getProxies()

newContainerForNotifyStyleProxy

protected org.picocontainer.MutablePicoContainer newContainerForNotifyStyleProxy()

newContainerForEventStyleProxy

protected org.picocontainer.MutablePicoContainer newContainerForEventStyleProxy()

newContainerForTypedProxy

protected org.picocontainer.MutablePicoContainer newContainerForTypedProxy(java.lang.String supportedInterface)

newComponentAdapter

protected org.picocontainer.ComponentAdapter newComponentAdapter(java.lang.Object key,
                                                                 java.lang.Class implementation)