|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.Port
ptolemy.kernel.ComponentPort
ptolemy.actor.IOPort
ptolemy.actor.TypedIOPort
ptolemy.actor.lib.hoc.RefinementPort
public class RefinementPort
A port for controllers and refinements in modal models. This port mirrors certain changes to it in the ports of the container of the container. That container in turn mirrors those changes in other refinements and/or controllers. This class is designed to work closely with ModalPort, since changes to the ports can be initiated from either class.
Red (liuxj) |
Red (eal) |
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj |
---|
NamedObj.ContainedObjectsIterator |
Field Summary | |
---|---|
protected boolean |
_automaticallyInput
Indicator that the port is automatically an input port because it was set to be an output port. |
protected boolean |
_mirrorDisable
If false, then changes the port are mirrored in the container's container. |
Fields inherited from class ptolemy.actor.TypedIOPort |
---|
TYPE |
Fields inherited from class ptolemy.actor.IOPort |
---|
_hasPortEventListeners, _portEventListeners, CONFIGURATION, RECEIVERS, REMOTERECEIVERS |
Fields inherited from class ptolemy.kernel.Port |
---|
_insideLinks, _relationsList |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary | |
---|---|
RefinementPort(ComponentEntity container,
java.lang.String name)
Construct a port with a containing actor and a name that is neither an input nor an output. |
|
RefinementPort(Workspace workspace)
Construct a port in the given workspace. |
Method Summary | |
---|---|
private void |
_checkWhetherMirrorIsInput()
If the container is a MultiCompositeActor and has a mirror port to this one that is not an input and is an output, then mark this port so that if it becomes an input, that input property is not reflected to the mirror port. |
boolean |
isTypeAcceptable()
Override the super class method to allow UNKNOWN type if this port does not have any inside links. |
void |
link(Relation relation)
Set the connected relation to a bus if this port is a multiport. |
int |
moveDown()
Move this object down by one in the list of attributes of its container. |
int |
moveToFirst()
Move this object to the first position in the list of attributes of the container. |
int |
moveToIndex(int index)
Move this object to the specified position in the list of attributes of the container. |
int |
moveToLast()
Move this object to the last position in the list of attributes of the container. |
int |
moveUp()
Move this object up by one in the list of attributes of the container. |
void |
setContainer(Entity container)
Override the base class so that if the port is being removed from the current container, then it is also removed from the controller and from each of the refinements. |
void |
setInput(boolean isInput)
If the argument is true, make the port an input port. |
void |
setMirrorDisable(boolean disable)
Control whether any change should be mirrored in the modal model, mode controller, and refinements. |
void |
setMultiport(boolean isMultiport)
If the argument is true, make the port a multiport. |
void |
setName(java.lang.String name)
Set the name of the port, and mirror the change in all the mirror ports. |
void |
setOutput(boolean isOutput)
If the argument is true, make the port an output port. |
Methods inherited from class ptolemy.actor.TypedIOPort |
---|
_checkContainer, _checkLiberalLink, _checkLink, _checkType, _description, addTypeListener, attributeChanged, broadcast, broadcast, clone, convert, getType, getTypeTerm, removeTypeListener, send, send, sendInside, setTypeAtLeast, setTypeAtLeast, setTypeAtMost, setTypeEquals, setTypeSameAs, typeConstraintList, typeConstraints |
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, numLinks |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected boolean _automaticallyInput
protected boolean _mirrorDisable
Constructor Detail |
---|
public RefinementPort(Workspace workspace)
workspace
- The workspace.
IllegalActionException
- If the port is not of an acceptable
class for the container, or if the container does not implement the
TypedActor interface.public RefinementPort(ComponentEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container actor.name
- The name of the port.
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 |
---|
public boolean isTypeAcceptable()
isTypeAcceptable
in interface Typeable
isTypeAcceptable
in class TypedIOPort
public void link(Relation relation) throws IllegalActionException
link
in class IOPort
relation
- The relation to link to.
IllegalActionException
- If the link crosses levels of
the hierarchy, or the port has no container, or the relation
is not an instance of IORelation.public int moveDown() throws IllegalActionException
moveDown
in interface Moveable
moveDown
in class Port
IllegalActionException
- If this object has
no container.public int moveToFirst() throws IllegalActionException
moveToFirst
in interface Moveable
moveToFirst
in class Port
IllegalActionException
- If this object has
no container.public int moveToIndex(int index) throws IllegalActionException
moveToIndex
in interface Moveable
moveToIndex
in class Port
index
- The position to move this object to.
IllegalActionException
- If this object has
no container or if the index is out of bounds.public int moveToLast() throws IllegalActionException
moveToLast
in interface Moveable
moveToLast
in class Port
IllegalActionException
- If this object has
no container.public int moveUp() throws IllegalActionException
moveUp
in interface Moveable
moveUp
in class Port
IllegalActionException
- If this object has
no container.public void setContainer(Entity container) throws IllegalActionException, NameDuplicationException
setContainer
in class IOPort
container
- The proposed container.
IllegalActionException
- If the proposed container is not a
ComponentEntity, doesn't implement Actor, or has no name,
or the port and container are not in the same workspace. Or
it's not null
NameDuplicationException
- If the container already has
a port with the name of this port.Port.getContainer()
,
Port._checkContainer(Entity)
public void setInput(boolean isInput) throws IllegalActionException
setInput
in class IOPort
isInput
- True to make the port an input.
IllegalActionException
- If changing the port status is
not permitted.public void setMirrorDisable(boolean disable)
disable
- True if mirroring should not occur.public void setMultiport(boolean isMultiport) throws IllegalActionException
setMultiport
in class IOPort
isMultiport
- True to make the port a multiport.
IllegalActionException
- If changing the port status is
not permitted.public void setName(java.lang.String name) throws IllegalActionException, NameDuplicationException
setName
in interface Nameable
setName
in class Port
name
- The new name.
IllegalActionException
- If the name has a period.
NameDuplicationException
- If there is already a port
with the same name in the container.NamedObj.getName()
,
NamedObj.getName(NamedObj)
public void setOutput(boolean isOutput) throws IllegalActionException
setOutput
in class IOPort
isOutput
- True to make the port an output.
IllegalActionException
- If changing the port status is
not permitted.private void _checkWhetherMirrorIsInput()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |