public class XMPPSource extends TypedAtomicActor implements XMPPSubscriber
XMPPGateway| Red (marten) |
| Red (marten) |
Entity.ContainedObjectsIterator| Modifier and Type | Field and Description |
|---|---|
StringParameter |
nodeId
XMPPSource subscribes to an XMPP node, the name of which is
specified by the value of nodeId.
|
TypedIOPort |
output
An output port for values received from the XMPP node.
|
_typesValid_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKSCOMPLETED, NOT_READY, STOP_ITERATING| Constructor and Description |
|---|
XMPPSource(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name.
|
| Modifier and Type | Method and Description |
|---|---|
void |
attributeChanged(Attribute attribute)
If the argument is the nodeId parameter, then reset the
state to the specified value.
|
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace.
|
void |
fire()
Send the current value of the state of this actor to the output.
|
java.lang.String |
getNodeId()
Return the nodeId.
|
java.lang.String |
getSubId()
Return the id of this subscriber.
|
void |
handlePublishedItems(org.jivesoftware.smackx.pubsub.ItemPublishEvent<org.jivesoftware.smackx.pubsub.Item> items)
Parse the published item from the XMPP node, save the XML and
request that the actor be fired.
|
void |
initialize()
Record the current model time and the current real time
so that output events can be time stamped with the elapsed
time since model start.
|
void |
setGateway(XMPPGateway gateway)
Register the gateway to the subscriber, so that if
the subscription changes, it can notify the gateway.
|
void |
setSubId(java.lang.String subId)
Set the id of the subscriber.
|
void |
wrapup()
Set _hasInitialized to false, so that invocations of
handlePublishedItems (from a different thread) will wait until the model
has been initialized on the next execution.
|
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortListisFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminateaddInitializable, preinitialize, removeInitializabledescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValuepublic TypedIOPort output
public StringParameter nodeId
public XMPPSource(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container - The container.name - The name of this actor.IllegalActionException - If the actor cannot be contained
by the proposed container.NameDuplicationException - If the container already has an
actor with this name.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged in class NamedObjattribute - The attribute that changed.IllegalActionException - If nodeId cannot be evaluated
or cannot be converted to the output type, or if the superclass
throws it.public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone in class TypedAtomicActorworkspace - The workspace for the new object.java.lang.CloneNotSupportedException - If a derived class contains
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String),
NamedObj.setDeferringChangeRequests(boolean)public void initialize()
throws IllegalActionException
initialize in interface Initializableinitialize in class AtomicActor<TypedIOPort>IllegalActionException - If the superclass throws it.public void fire()
throws IllegalActionException
fire in interface Executablefire in class AtomicActor<TypedIOPort>IllegalActionException - If calling send() or super.fire()
throws it.public java.lang.String getNodeId()
getNodeId in interface XMPPSubscriberpublic java.lang.String getSubId()
getSubId in interface XMPPSubscribersetSubId(String)public void handlePublishedItems(org.jivesoftware.smackx.pubsub.ItemPublishEvent<org.jivesoftware.smackx.pubsub.Item> items)
handlePublishedItems in interface org.jivesoftware.smackx.pubsub.listener.ItemEventListener<org.jivesoftware.smackx.pubsub.Item>items - The item event from the XMPP node. Can contain
multiple pieces of information.public void wrapup()
throws IllegalActionException
wrapup in interface Initializablewrapup in class AtomicActor<TypedIOPort>IllegalActionException - Not thrown in this base class.public void setGateway(XMPPGateway gateway)
setGateway in interface XMPPSubscribergateway - The attribute responsible for managing the XMPP session.public void setSubId(java.lang.String subId)
setSubId in interface XMPPSubscribersubId - A string identifying this subscriber.getSubId()