SmartFrog 3.10.000

org.smartfrog.sfcore.workflow.eventbus
Class EventCompoundImpl

java.lang.Object
  extended by org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
      extended by org.smartfrog.sfcore.prim.PrimImpl
          extended by org.smartfrog.sfcore.compound.CompoundImpl
              extended by org.smartfrog.sfcore.workflow.eventbus.EventCompoundImpl
All Implemented Interfaces:
java.rmi.Remote, MessageKeys, Compound, ChildMinder, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper, EventBus, EventRegistration, EventSink
Direct Known Subclasses:
Delay, During, OnEvent, Parallel, RandomSequence, Repeat, Retract, Retry, Run, Sequence, Timeout, Try

public class EventCompoundImpl
extends CompoundImpl
implements EventBus, EventRegistration, EventSink, Compound

An extension of Compound providing the SmartFrog Component with the required event handling.


Field Summary
protected  ComponentDescription action
           
protected  java.util.Enumeration actionKeys
           
protected  Context actions
           
protected  Reference name
           
 
Fields inherited from class org.smartfrog.sfcore.compound.CompoundImpl
childCap, childInc, lifecycleChildren, sfChildren, sfSyncTerminate
 
Fields inherited from class org.smartfrog.sfcore.prim.PrimImpl
refLivenessDelay, refLivenessFactor, sfCompleteName, sfContext, sfDeployHooks, sfDeployWithHooks, sfExportRef, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessCount, sfLivenessDelay, sfLivenessFactor, sfLivenessSender, sfParent, sfStartHooks, sfTerminateWithHooks, termLock
 
Fields inherited from interface org.smartfrog.sfcore.common.MessageKeys
CANNOT_LINK_TO_PREDICATE, COMPONENT_TERMINATED, COPY_FAILED, COPY_SERIALIZE_FAILED, ERROR_NO_SECURITY_BUT_REQUIRED, ILLEGAL_BOOLEAN_PARAMETER, ILLEGAL_NUMERIC_PARAMETER, ILLEGAL_STRING_PARAMETER, ILLEGAL_VECTOR_PARAMETER, LIVENESS_SEND_FAILURE, LIVENESS_SEND_FAILURE_IN, MISSING_PARAMETER, MSG_CLASS_NOT_FOUND, MSG_CONNECT_ERR, MSG_CONT_OTHER_DEPLOY, MSG_DEPLOY_COMP_TERMINATED, MSG_DEPLOY_SUCCESS, MSG_DEPLOYWITH_PHASE_FAILED, MSG_DETACH_SUCCESS, MSG_DETACH_TERMINATE_SUCCESS, MSG_ERR_DEPLOY_FROM_URL, MSG_ERR_PARSE, MSG_ERR_RESOLVE_PHASE, MSG_ERR_SF_RUNNING, MSG_ERR_TERM, MSG_FAILED_INET_ADDRESS_LOOKUP, MSG_FAILED_TO_CONTACT_PARENT, MSG_FILE_NOT_FOUND, MSG_HOOK_ACTION_FAILED, MSG_ILLEGAL_ACCESS, MSG_ILLEGAL_CLASS_TYPE, MSG_ILLEGAL_CLASS_TYPE_EXPECTING_GOT, MSG_ILLEGAL_REFERENCE, MSG_INPUTSTREAM_NULL, MSG_INSTANTIATION_ERROR, MSG_INVALID_OBJECT_TYPE, MSG_INVOCATION_TARGET, MSG_LANG_NOT_FOUND, MSG_LIVENESS_START_FAILED, MSG_LOADING_URL, MSG_METHOD_NOT_FOUND, MSG_NON_REP_ATTRIB, MSG_NOT_COMPONENT_REFERENCE, MSG_NOT_FOUND_ATTRIBUTE, MSG_NOT_FOUND_REFERENCE, MSG_NOT_VALUE_REFERENCE, MSG_NULL_DEF_METHOD, MSG_NULL_URL, MSG_OBJECT_REGISTRATION_FAILED, MSG_PARENT_LOCATION_FAILED, MSG_PING_SUCCESS, MSG_RANDM_ERR, MSG_REMOTE_CONNECT_ERR, MSG_REPEATED_ATTRIBUTE, MSG_SF_DEAD, MSG_SF_READY, MSG_SF_TERMINATED, MSG_STACKTRACE_FOLLOWS, MSG_START_COMP_TERMINATED, MSG_TERMINATE_SUCCESS, MSG_UNHANDLED_EXCEPTION, MSG_UNKNOWN_HOST, MSG_UNRESOLVED_REFERENCE, MSG_UNRESOLVED_REFERENCE_IN, MSG_UPDATE_SUCCESS, MSG_URL_NOT_FOUND, MSG_URL_TO_PARSE_NOT_FOUND, MSG_WARNING_LIVENESS_ENABLED, MSG_WARNING_STACKTRACE_DISABLED, MSG_WARNING_STACKTRACE_ENABLED, ROOT_MUST_BE_COMPONENT, WARN_NO_SECURITY
 
Constructor Summary
EventCompoundImpl()
          Constructs EventCompoundImpl.
 
Method Summary
 void deregister(EventSink sink)
          Deregistera an EventSink for forwarding of events.
 void event(java.lang.Object event)
          Handles the event locally then forward to all registered EventSinks.
protected  void handleEvent(java.lang.Object event)
          Default implmentation of the event Handler hook to be overridden in sub-classes.
 void register(EventSink sink)
          Registers an EventSink for forwarding of events.
 void sendEvent(java.lang.Object event)
          Default implementation of the EventBus sendEvent method to forward all events to registered EventSinks.
 void sfDeploy()
          Registers components referenced in the SendTo sub-component registers itself with components referenced in the RegisterWith sub-component.
protected  void sfDeployWithChildren()
          Method that selects the children that compound will drive through their lifecycle The children are stored in 'lifecycleChildren'
 void sfTerminateWith(TerminationRecord status)
          Deregisters from all current registrations.
 
Methods inherited from class org.smartfrog.sfcore.compound.CompoundImpl
sfAddChild, sfASyncTerminateWith, sfChildren, sfContainsChild, sfCreateNewApp, sfCreateNewChild, sfCreateNewChild, sfDeployChildren, sfDeployComponentDescription, sfDeployWith, sfDumpState, sfParentageChanged, sfPing, sfPingChild, sfRemoveAttribute, sfRemoveChild, sfStart, sfStartChildren, sfSyncTerminateWith, sfTerminatedWith
 
Methods inherited from class org.smartfrog.sfcore.prim.PrimImpl
equals, hashCode, registerWithProcessCompound, sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfCompleteNameSafe, sfContainsAttribute, sfContainsValue, sfContext, sfDeployedHost, sfDeployedProcessName, sfDetach, sfDetachAndTerminate, sfDiagnosticsReport, sfExport, sfExportRef, sfExportRef, sfGetApplicationLog, sfGetCoreLog, sfGetLog, sfIsDeployed, sfIsRemote, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessFailure, sfLog, sfParent, sfReplaceAttribute, sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent, sfSetLog, sfStartLivenessSender, sfStopLivenessSender, sfTerminate, sfTerminateQuietlyWith, sfValues, terminateComponent, terminateNotifying, toString
 
Methods inherited from class org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.smartfrog.sfcore.compound.Compound
sfCreateNewApp, sfCreateNewChild, sfCreateNewChild, sfDeployComponentDescription
 
Methods inherited from interface org.smartfrog.sfcore.prim.Prim
sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfContainsAttribute, sfContainsValue, sfContext, sfDeployedHost, sfDeployedProcessName, sfDeployWith, sfDetach, sfDetachAndTerminate, sfDumpState, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfParent, sfParentageChanged, sfRemoveAttribute, sfReplaceAttribute, sfStart, sfTerminate, sfTerminatedWith, sfTerminateQuietlyWith, sfValues
 
Methods inherited from interface org.smartfrog.sfcore.prim.Liveness
sfPing
 
Methods inherited from interface org.smartfrog.sfcore.reference.RemoteReferenceResolver
sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent
 
Methods inherited from interface org.smartfrog.sfcore.reference.RemoteReferenceResolverHelper
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser
 
Methods inherited from interface org.smartfrog.sfcore.prim.Diagnostics
sfDiagnosticsReport
 
Methods inherited from interface org.smartfrog.sfcore.prim.ChildMinder
sfAddChild, sfChildren, sfContainsChild, sfRemoveChild
 

Field Detail

action

protected ComponentDescription action

actions

protected Context actions

actionKeys

protected java.util.Enumeration actionKeys

name

protected Reference name
Constructor Detail

EventCompoundImpl

public EventCompoundImpl()
                  throws java.rmi.RemoteException
Constructs EventCompoundImpl.

Throws:
java.rmi.RemoteException - In case of RMI or network failure.
Method Detail

sfDeployWithChildren

protected void sfDeployWithChildren()
                             throws SmartFrogDeploymentException
Description copied from class: CompoundImpl
Method that selects the children that compound will drive through their lifecycle The children are stored in 'lifecycleChildren'

Overrides:
sfDeployWithChildren in class CompoundImpl
Throws:
SmartFrogDeploymentException

register

public void register(EventSink sink)
Registers an EventSink for forwarding of events.

Specified by:
register in interface EventRegistration
Parameters:
sink - org.smartfrog.sfcore.workflow.eventbus.EventSink
See Also:
EventRegistration

deregister

public void deregister(EventSink sink)
Deregistera an EventSink for forwarding of events.

Specified by:
deregister in interface EventRegistration
Parameters:
sink - org.smartfrog.sfcore.workflow.eventbus.EventSink
See Also:
EventRegistration

event

public void event(java.lang.Object event)
Handles the event locally then forward to all registered EventSinks.

Specified by:
event in interface EventSink
Parameters:
event - java.lang.Object
See Also:
EventSink

handleEvent

protected void handleEvent(java.lang.Object event)
Default implmentation of the event Handler hook to be overridden in sub-classes. The default implementation does nothing.

Parameters:
event - java.lang.Object The event

sendEvent

public void sendEvent(java.lang.Object event)
Default implementation of the EventBus sendEvent method to forward all events to registered EventSinks. Errors are ignored.

Specified by:
sendEvent in interface EventBus
Parameters:
event - java.lang.String
See Also:
EventRegistration, EventSink

sfDeploy

public void sfDeploy()
              throws SmartFrogException,
                     java.rmi.RemoteException
Registers components referenced in the SendTo sub-component registers itself with components referenced in the RegisterWith sub-component.

Specified by:
sfDeploy in interface Prim
Overrides:
sfDeploy in class CompoundImpl
Throws:
java.rmi.RemoteException - In case of network/rmi error
SmartFrogDeploymentException - In case of any error while deploying the component
SmartFrogException - failure deploying compound or sub-component

sfTerminateWith

public void sfTerminateWith(TerminationRecord status)
Deregisters from all current registrations.

Overrides:
sfTerminateWith in class CompoundImpl
Parameters:
status - Termination Record

SmartFrog CORE 3.10.000

(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP