Package ptolemy.domains.modal.modal
Class ModalBasePort
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.Port
-
- ptolemy.kernel.ComponentPort
-
- ptolemy.actor.IOPort
-
- ptolemy.actor.TypedIOPort
-
- ptolemy.domains.modal.modal.ModalBasePort
-
- All Implemented Interfaces:
java.lang.Cloneable
,HasTypeConstraints
,Typeable
,Changeable
,Debuggable
,DebugListener
,Derivable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
- Direct Known Subclasses:
ModalPort
,RefinementPort
public class ModalBasePort extends TypedIOPort
A base class that contains common functionality for ModelPort and ModalRefinementPort.ModalPort and RefinementPort both extend this class. ModalRefinementPort in turn extends RefinementPort. RefinementPort has different functionality for methods like setInput(), setMultiport(), setName() and setOutput(). Therefore, this base class defines protected versions of the common implementations of these methods that are called by the public versions of these methods in ModalPort and ModelRefinementPort, thus avoiding code duplication.
- Since:
- Ptolemy II 10.0
- Version:
- $Id$
- Author:
- Christopher Brooks
- See Also:
ModalPort
,ModalRefinementPort
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (cxh)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.actor.TypedIOPort
TypedIOPort.RunTimeTypeCheckException
-
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
-
-
Field Summary
-
Fields inherited from class ptolemy.actor.TypedIOPort
_resolvedType, TYPE
-
Fields inherited from class ptolemy.actor.IOPort
_constantLimit, _constantToken, _constantTokensSent, _hasPortEventListeners, _portEventListeners, CONFIGURATION, defaultValue, RECEIVERS, REMOTERECEIVERS
-
Fields inherited from class ptolemy.kernel.Port
_insideLinks, _relationsList
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
-
Constructor Summary
Constructors Constructor Description ModalBasePort(ComponentEntity container, java.lang.String name)
Construct a port with a containing actor and a name that is neither an input nor an output.ModalBasePort(Workspace workspace)
Construct a port in the given workspace.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_checkContainer(Entity container)
Override the base class to ensure that the proposed container is a CompositeEntity or null.protected int
_moveDown()
Move this object down by one in the list of attributes of its container.protected int
_moveToFirst()
Move this object to the first position in the list of attributes of the container.protected int
_moveToIndex(int index)
Move this object to the specified position in the list of attributes of the container.protected int
_moveToLast()
Move this object to the last position in the list of attributes of the container.protected int
_moveUp()
Move this object up by one in the list of attributes of the container.protected void
_removePort(CompositeEntity oldContainer)
Remove a port from the current container.protected void
_setInput(boolean isInput)
If the argument is true, make the port an input port.protected void
_setMultiport(boolean isMultiport)
If the argument is true, make the port a multiport.protected void
_setName(java.lang.String name)
Set the name of the port, and mirror the change in all the mirror ports.protected void
_setOutput(boolean isOutput)
If the argument is true, make the port an output port.-
Methods inherited from class ptolemy.actor.TypedIOPort
_checkLiberalLink, _checkLink, _checkType, _checkTypedIOPortContainer, _description, addTypeListener, attributeChanged, broadcast, broadcast, clone, convert, getAutomaticTypeConversion, getType, getTypeTerm, isTypeAcceptable, removeTypeListener, send, send, sendInside, setAutomaticTypeConversion, setTypeAtLeast, setTypeAtLeast, setTypeAtMost, setTypeEquals, setTypeSameAs, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.IOPort
_checkLiberalLink, _exportMoMLContents, _getInsideWidth, _getOutsideWidth, _getReceiversLinkedToGroup, _newInsideReceiver, _newInsideReceiver, _newReceiver, _newReceiver, _notifyPortEventListeners, _removeReceivers, _setConstant, _wrapReceiver, addIOPortEventListener, broadcastClear, checkWidthConstraints, createReceivers, deepConnectedInPortList, deepConnectedInPorts, deepConnectedOutPortList, deepConnectedOutPorts, deepGetReceivers, get, get, getChannelForReceiver, getCommunicationAspects, getCurrentTime, getDefaultWidth, getInside, getInsideReceivers, getIOPortEventListeners, getModelTime, getModelTime, getReceivers, getReceivers, getReceivers, getRelationIndex, getRemoteReceivers, getRemoteReceivers, getWidth, getWidthFromConstraints, getWidthInside, hasNewToken, hasNewTokenInside, hasRoom, hasRoomInside, hasToken, hasToken, hasTokenInside, hasWidthConstraints, insertLink, insideSinkPortList, insideSourcePortList, invalidateCommunicationAspects, isInput, isInsideConnected, isKnown, isKnown, isKnownInside, isMultiport, isOutput, isOutsideConnected, liberalLink, link, numberOfSinks, numberOfSources, removeIOPortEventListener, reset, sendClear, sendClearInside, setContainer, setDefaultWidth, setInput, setMultiport, setOutput, setWidthEquals, setWidthEquals, sinkPortList, sourcePortList, transferInputs, transferOutputs, unlink, unlink, unlinkAll, unlinkAllInside, unlinkInside, unlinkInside
-
Methods inherited from class ptolemy.kernel.ComponentPort
_deepConnectedPortList, _deepConnectedPorts, _deepInsidePortList, _deepInsidePorts, _isInsideLinkable, deepConnectedPortList, deepConnectedPorts, deepInsidePortList, deepInsidePorts, insertInsideLink, insidePortList, insidePorts, insideRelationList, insideRelations, isDeeplyConnected, isInsideGroupLinked, isInsideLinked, isOpaque, numInsideLinks
-
Methods inherited from class ptolemy.kernel.Port
_getContainedObject, _propagateExistence, connectedPortList, connectedPorts, getContainer, isGroupLinked, isLinked, linkedRelationList, linkedRelations, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, numLinks, setName
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
-
-
-
-
Constructor Detail
-
ModalBasePort
public ModalBasePort(Workspace workspace) throws IllegalActionException
Construct a port in the given workspace.- Parameters:
workspace
- The workspace.- Throws:
IllegalActionException
- If the port is not of an acceptable class for the container, or if the container does not implement the TypedActor interface.
-
ModalBasePort
public ModalBasePort(ComponentEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Construct a port with a containing actor and a name that is neither an input nor an output. The specified container must implement the TypedActor interface, or an exception will be thrown.- Parameters:
container
- The container actor.name
- The name of the port.- Throws:
IllegalActionException
- If the port is not of an acceptable class for the container, or if the container does not implement the TypedActor interface.NameDuplicationException
- If the name coincides with a port already in the container.
-
-
Method Detail
-
_moveDown
protected int _moveDown() throws IllegalActionException
Move this object down by one in the list of attributes of its container. If this object is already last, do nothing. This method overrides the base class to mirror the change in any mirror ports. Increment the version of the workspace.- Returns:
- The index of the specified object prior to moving it, or -1 if it is not moved.
- Throws:
IllegalActionException
- If this object has no container.
-
_moveToFirst
protected int _moveToFirst() throws IllegalActionException
Move this object to the first position in the list of attributes of the container. If this object is already first, do nothing. Increment the version of the workspace. This method overrides the base class to mirror the change in any mirror ports.- Returns:
- The index of the specified object prior to moving it, or -1 if it is not moved.
- Throws:
IllegalActionException
- If this object has no container.
-
_moveToIndex
protected int _moveToIndex(int index) throws IllegalActionException
Move this object to the specified position in the list of attributes of the container. If this object is already at the specified position, do nothing. This method overrides the base class to mirror the change in any mirror ports. Increment the version of the workspace.- Parameters:
index
- The position to move this object to.- Returns:
- The index of the specified object prior to moving it, or -1 if it is not moved.
- Throws:
IllegalActionException
- If this object has no container or if the index is out of bounds.
-
_moveToLast
protected int _moveToLast() throws IllegalActionException
Move this object to the last position in the list of attributes of the container. If this object is already last, do nothing. This method overrides the base class to mirror the change in any mirror ports. Increment the version of the workspace.- Returns:
- The index of the specified object prior to moving it, or -1 if it is not moved.
- Throws:
IllegalActionException
- If this object has no container.
-
_moveUp
protected int _moveUp() throws IllegalActionException
Move this object up by one in the list of attributes of the container. If this object is already first, do nothing. This method overrides the base class to mirror the change in any mirror ports. Increment the version of the workspace.- Returns:
- The index of the specified object prior to moving it, or -1 if it is not moved.
- Throws:
IllegalActionException
- If this object has no container.
-
_removePort
protected void _removePort(CompositeEntity oldContainer) throws IllegalActionException, NameDuplicationException
Remove a port from the current container.- Parameters:
oldContainer
- The container of the port- Throws:
IllegalActionException
- If the container or the container of the relation cannot be set to null.NameDuplicationException
- If the thrown will setting the container or the container of the relation to null.
-
_setInput
protected void _setInput(boolean isInput) throws IllegalActionException
If the argument is true, make the port an input port. If the argument is false, make the port not an input port. This method overrides the base class to make the same change on the mirror ports in the controller and state refinments. This method invalidates the schedule and resolved types of the director of the container, if there is one. It is write-synchronized on the workspace, and increments the version of the workspace.- Parameters:
isInput
- True to make the port an input.- Throws:
IllegalActionException
- If changing the port status is not permitted.
-
_setMultiport
protected void _setMultiport(boolean isMultiport) throws IllegalActionException
If the argument is true, make the port a multiport. If the argument is false, make the port not a multiport. This method overrides the base class to make the same change on the mirror ports in the controller and state refinments. This method invalidates the schedule and resolved types of the director of the container, if there is one. It is write-synchronized on the workspace, and increments the version of the workspace.- Parameters:
isMultiport
- True to make the port a multiport.- Throws:
IllegalActionException
- If changing the port status is not permitted.
-
_setName
protected void _setName(java.lang.String name) throws IllegalActionException, NameDuplicationException
Set the name of the port, and mirror the change in all the mirror ports. This method is write-synchronized on the workspace, and increments the version of the workspace.- Parameters:
name
- The name.- Throws:
IllegalActionException
- If the name has a period.NameDuplicationException
- If there is already a port with the same name in the container.
-
_setOutput
protected void _setOutput(boolean isOutput) throws IllegalActionException
If the argument is true, make the port an output port. If the argument is false, make the port not an output port. This method overrides the base class to make the same change on the mirror ports in the controller and state refinments. This method invalidates the schedule and resolved types of the director of the container, if there is one. It is write-synchronized on the workspace, and increments the version of the workspace.- Parameters:
isOutput
- True to make the port an output.- Throws:
IllegalActionException
- If changing the port status is not permitted.
-
_checkContainer
protected void _checkContainer(Entity container) throws IllegalActionException
Override the base class to ensure that the proposed container is a CompositeEntity or null.- Overrides:
_checkContainer
in classTypedIOPort
- Parameters:
container
- The proposed container.- Throws:
IllegalActionException
- If the proposed container is not a TypedActor, or if the base class throws it.
-
-