|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
public class ComponentEntity
A ComponentEntity is a component in a CompositeEntity. It might itself be composite, but in this base class it is assumed to be atomic (meaning that it cannot contain components).
Derived classes may further constrain the container to be a subclass of CompositeEntity. To do this, they should override the protected method _checkContainer() to throw an exception.
A ComponentEntity can contain instances of ComponentPort. Derived classes may further constrain to a subclass of ComponentPort. To do this, they should override the public method newPort() to create a port of the appropriate subclass, and the protected method _addPort() to throw an exception if its argument is a port that is not of the appropriate subclass.
| Green (cxh) |
| Green (eal) |
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class ptolemy.kernel.Entity |
|---|
Entity.ContainedObjectsIterator |
| Field Summary | |
|---|---|
private CompositeEntity |
_container
The container. |
private static java.lang.String |
_defaultIcon
The default value icon. |
| Fields inherited from class ptolemy.kernel.Entity |
|---|
_portList |
| 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 | |
|---|---|
ComponentEntity()
Construct an entity in the default workspace with an empty string The object is added to the workspace directory. |
|
ComponentEntity(CompositeEntity container,
java.lang.String name)
Construct an entity with the given name contained by the specified entity. |
|
ComponentEntity(Workspace workspace)
Construct an entity in the specified workspace with an empty string as a name. |
|
| Method Summary | |
|---|---|
private void |
_addIcon()
Define the icon. |
protected void |
_addPort(Port port)
Add a port to this entity. |
protected void |
_adjustDeferrals()
Adjust the deferrals in this object. |
protected void |
_checkContainer(InstantiableNamedObj container)
Check the specified container. |
protected NamedObj |
_getContainedObject(NamedObj container,
java.lang.String relativeName)
Get an entity with the specified name in the specified container. |
protected NamedObj |
_propagateExistence(NamedObj container)
Propagate existence of this object to the specified object. |
java.lang.Object |
clone(Workspace workspace)
Clone the object into the specified workspace. |
NamedObj |
getContainer()
Get the container entity. |
Instantiable |
instantiate(NamedObj container,
java.lang.String name)
Create an instance by cloning this object and then adjusting the parent-child relationships between the clone and its parent. |
boolean |
isAtomic()
Return true if the entity is atomic. |
boolean |
isOpaque()
Return true if the entity is opaque. |
int |
moveDown()
Move this object down by one in the list of entities of its container. |
int |
moveToFirst()
Move this object to the first position in the list of entities of the container. |
int |
moveToIndex(int index)
Move this object to the specified position in the list of entities of the container. |
int |
moveToLast()
Move this object to the last position in the list of entities of the container. |
int |
moveUp()
Move this object up by one in the list of entities of the container. |
Port |
newPort(java.lang.String name)
Create a new port with the specified name. |
java.util.List |
propagateExistence()
Propagate the existence of this object. |
void |
setContainer(CompositeEntity container)
Specify the container, adding the entity to the list of entities in the container. |
void |
setName(java.lang.String name)
Set the name of the ComponentEntity. |
| Methods inherited from class ptolemy.kernel.Entity |
|---|
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, connectionsChanged, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
| Methods inherited from class ptolemy.kernel.InstantiableNamedObj |
|---|
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface ptolemy.kernel.util.Derivable |
|---|
getDerivedLevel, getDerivedList, propagateValue |
| Methods inherited from interface ptolemy.kernel.util.Nameable |
|---|
description, getDisplayName, getFullName, getName, getName |
| Field Detail |
|---|
private CompositeEntity _container
private static java.lang.String _defaultIcon
| Constructor Detail |
|---|
public ComponentEntity()
public ComponentEntity(Workspace workspace)
workspace - The workspace that will list the entity.
public ComponentEntity(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
container - The container entity.name - The name of the entity.
IllegalActionException - If the entity cannot be contained
by the proposed container.
NameDuplicationException - If the name coincides with
an entity already in the container.| Method Detail |
|---|
public java.lang.Object clone(Workspace workspace)
throws java.lang.CloneNotSupportedException
clone in class Entityworkspace - The workspace for the cloned object.
java.lang.CloneNotSupportedException - If one of the attributes
cannot be cloned.NamedObj.exportMoML(Writer, int, String),
NamedObj.setDeferringChangeRequests(boolean)public NamedObj getContainer()
getContainer in interface NameablegetContainer in class NamedObjsetContainer(CompositeEntity)
public Instantiable instantiate(NamedObj container,
java.lang.String name)
throws java.lang.CloneNotSupportedException,
IllegalActionException,
NameDuplicationException
The new object is not a class definition (it is by default an "instance" rather than a "class"). To make it a class definition (a "subclass"), call setClassDefinition(true).
This method overrides the base class to use setContainer() to specify the container.
instantiate in interface Instantiableinstantiate in class InstantiableNamedObjcontainer - The container for the instance, or null
to instantiate it at the top level.name - The name for the clone.
java.lang.CloneNotSupportedException - If this object
cannot be cloned.
IllegalActionException - If this object is not a
class definition
or the proposed container is not acceptable.
NameDuplicationException - If the name collides with
an object already in the container.Entity.setClassDefinition(boolean)public boolean isAtomic()
CompositeEntitypublic boolean isOpaque()
CompositeEntity
public int moveDown()
throws IllegalActionException
moveDown in interface MoveablemoveDown in class NamedObjIllegalActionException - If this object has
no container.
public int moveToFirst()
throws IllegalActionException
moveToFirst in interface MoveablemoveToFirst in class NamedObjIllegalActionException - If this object has
no container.
public int moveToIndex(int index)
throws IllegalActionException
moveToIndex in interface MoveablemoveToIndex in class NamedObjindex - 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 MoveablemoveToLast in class NamedObjIllegalActionException - If this object has
no container.
public int moveUp()
throws IllegalActionException
moveUp in interface MoveablemoveUp in class NamedObjIllegalActionException - If this object has
no container.
public Port newPort(java.lang.String name)
throws IllegalActionException,
NameDuplicationException
newPort in class Entityname - The new port name.
IllegalActionException - If the argument is null.
NameDuplicationException - If this entity already has a
port with the specified name.
public java.util.List propagateExistence()
throws IllegalActionException
propagateExistence in interface DerivablepropagateExistence in class NamedObjIllegalActionException - If the object does
not exists and cannot be created.Derivable,
NamedObj.setDerivedLevel(int)
public void setContainer(CompositeEntity container)
throws IllegalActionException,
NameDuplicationException
Note that for entities that are created by parsing MoML, it may be necessary to call MoMLParser.purgeModelRecord(). This is especially critical when the MoML file imports MoML classes. See Effigy.setContainer() for details.
Derived classes may further constrain the container to subclasses of CompositeEntity by overriding the protected method _checkContainer(). This method validates all deeply contained instances of Settable, since they may no longer be valid in the new context. This method is write-synchronized to the workspace and increments its version number.
container - The proposed container.
IllegalActionException - If the action would result in a
recursive containment structure, or if
this entity and container are not in the same workspace, or
if the protected method _checkContainer() throws it, or if
a contained Settable becomes invalid and the error handler
throws it.
NameDuplicationException - If the name of this entity
collides with a name already in the container.getContainer()
public void setName(java.lang.String name)
throws IllegalActionException,
NameDuplicationException
setName in interface NameablesetName in class NamedObjname - The new name.
IllegalActionException - If the name has a period.
NameDuplicationException - If there already is an entity
in the container with the same name.NamedObj.getName(),
NamedObj.getName(NamedObj)
protected void _addPort(Port port)
throws IllegalActionException,
NameDuplicationException
_addPort in class Entityport - The port to add to this entity.
IllegalActionException - If the port class is not
acceptable to this entity, or the port has no name.
NameDuplicationException - If the port name collides with a
name already in the entity.
protected void _adjustDeferrals()
throws IllegalActionException
Derived classes that contain other objects should recursively call this method on contained objects.
IllegalActionException - If the class found in scope
cannot be set.
protected void _checkContainer(InstantiableNamedObj container)
throws IllegalActionException
container - The proposed container.
IllegalActionException - If the container is not an
instance of CompositeEntity, or if the proposed container is
null and there are other objects that defer their definitions
to this one.
protected NamedObj _getContainedObject(NamedObj container,
java.lang.String relativeName)
throws IllegalActionException
_getContainedObject in class NamedObjrelativeName - The name relative to the container.container - The container expected to contain the object, which
must be an instance of CompositeEntity.
IllegalActionException - If the object exists
and has the wrong class, or if the specified container is not
an instance of CompositeEntity.
protected NamedObj _propagateExistence(NamedObj container)
throws IllegalActionException
_propagateExistence in class NamedObjcontainer - Object to contain the new object.
IllegalActionException - If the object
cannot be cloned.private void _addIcon()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||