ptolemy.domains.wireless.lib
Class LinkVisualizer
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.wireless.lib.LinkVisualizer
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, ChannelListener, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
- Direct Known Subclasses:
- SurgeVisualizer
public class LinkVisualizer
- extends TypedAtomicActor
- implements ChannelListener
This actor implements the ChannelListener interface.
It creates a line between two communicating nodes that
are within range of one another. It registers itself
with the wireless channel specified by the
channelName parameter. This is notified whenever a transmission
occurs on the channel on which it is listening.
This is an actor because it registers itself with the channel in the
initialize() method.
- Since:
- Ptolemy II 5.2
- Version:
- $Id: LinkVisualizer.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Heather Taylor, Elaine Cheong
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
protected void |
_drawLine(WirelessIOPort sender,
WirelessIOPort destination,
java.lang.String lineName)
Draw a line from the sender container to the destination container
with name lineName. |
protected void |
_removeLine(java.lang.String lineName)
Remove the line previously created with name lineName. |
void |
channelNotify(RecordToken properties,
Token token,
WirelessIOPort sender,
WirelessIOPort destination)
Visualize a line between the sender and destination containers
by starting a thread that will create and remove the line after some
amount of time. |
void |
initialize()
Register ChannelListeners with the WirelessChannel
specified in the channelName parameter. |
void |
setContainer(CompositeEntity container)
Override the base class to remove this channel listener. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, 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, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
channelName
public StringParameter channelName
- The name of the channel. The default name is "AtomicWirelessChannel".
sleepTime
public Parameter sleepTime
- The amount of time to sleep in milliseconds between drawing the
line and then removing the line. The initial default value
is an IntToken with a value of 500, meaning sleep for 500 ms.
_isOff
protected java.lang.Boolean _isOff
- Status of line that visualizes the radio link.
Initialized to true.
_channel
private WirelessChannel _channel
- Channel specified by the channelName parameter.
LinkVisualizer
public LinkVisualizer(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the specified container and name.
- Parameters:
container
- The container.name
- The name.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
initialize
public void initialize()
throws IllegalActionException
- Register ChannelListeners with the WirelessChannel
specified in the channelName parameter.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class AtomicActor
- Throws:
IllegalActionException
- If the super class throws it.
channelNotify
public void channelNotify(RecordToken properties,
Token token,
WirelessIOPort sender,
WirelessIOPort destination)
- Visualize a line between the sender and destination containers
by starting a thread that will create and remove the line after some
amount of time.
- Specified by:
channelNotify
in interface ChannelListener
- Parameters:
properties
- The properties of this transmission.token
- The token of this transmission, which can be processed here.sender
- The sending port.destination
- The receiving port.
setContainer
public void setContainer(CompositeEntity container)
throws IllegalActionException,
NameDuplicationException
- Override the base class to remove this channel listener.
- Overrides:
setContainer
in class AtomicActor
- Parameters:
container
- The proposed container.
- Throws:
IllegalActionException
- If the action would result in a
recursive containment structure, or if
this entity and container are not in the same workspace.
NameDuplicationException
- If the container already has
an entity with the name of this entity.- See Also:
ComponentEntity.getContainer()
_drawLine
protected void _drawLine(WirelessIOPort sender,
WirelessIOPort destination,
java.lang.String lineName)
- Draw a line from the sender container to the destination container
with name lineName.
- Parameters:
sender
- The sender port.destination
- The destination port.lineName
- The name of the line attribute to create.
_removeLine
protected void _removeLine(java.lang.String lineName)
- Remove the line previously created with name lineName.
- Parameters:
lineName
- Name of line previously created.