ptolemy.actor.gui
Class PtolemyEffigy.Factory
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.kernel.CompositeEntity
ptolemy.actor.gui.EffigyFactory
ptolemy.actor.gui.PtolemyEffigy.Factory
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
- Direct Known Subclasses:
- ExecShellEffigy.ShellFactory, ExpressionShellEffigy.ShellFactory, PtolemyEffigy.FactoryWithoutNew, PythonShellEffigy.ShellFactory, TclShellEffigy.ShellFactory
- Enclosing class:
- PtolemyEffigy
public static class PtolemyEffigy.Factory
- extends EffigyFactory
A factory for creating new Ptolemy effigies.
- See Also:
- Serialized Form
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Methods inherited from class ptolemy.kernel.CompositeEntity |
_addEntity, _addRelation, _adjustDeferrals, _deepOpaqueEntityList, _description, _exportMoMLContents, _finishedAddEntity, _recordDecoratedAttributes, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allCompositeEntityList, allowLevelCrossingConnect, classDefinitionList, clone, connect, connect, containedObjectsIterator, deepEntityList, deepGetEntities, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, isOpaque, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, newRelation, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, setContainer, statistics, uniqueName |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_addPort, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, newPort, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, 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 |
PtolemyEffigy.Factory
public PtolemyEffigy.Factory(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Create a factory with the given name and container.
- Parameters:
container
- The container.name
- The name.
- Throws:
IllegalActionException
- If the container is incompatible
with this entity.
NameDuplicationException
- If the name coincides with
an entity already in the container.
canCreateBlankEffigy
public boolean canCreateBlankEffigy()
- Return true, indicating that this effigy factory is
capable of creating an effigy without a URL being specified.
- Overrides:
canCreateBlankEffigy
in class EffigyFactory
- Returns:
- True.
createEffigy
public Effigy createEffigy(CompositeEntity container,
java.net.URL base,
java.net.URL input)
throws java.lang.Exception
- Create a new effigy in the given container by reading the
input URL. If the input URL is null, then
create a blank effigy.
The blank effigy will have a new model associated with it.
If this effigy factory contains an entity or an attribute
named "blank", then
the new model will be a clone of that object. Otherwise,
it will be an instance of TypedCompositeActor.
If the URL does not end with extension ".xml" or ".moml"
(case insensitive), then return null. If the URL points
to an XML file that is not
a MoML file, then also return null. A MoML file is required
to have the MoML DTD designation in the first five lines.
That is, it must contain a line beginning with the string
"
- Overrides:
createEffigy
in class EffigyFactory
- Parameters:
container
- The container for the effigy.base
- The base for relative file references, or null if
there are no relative file references.input
- The input URL.
- Returns:
- A new instance of PtolemyEffigy, or null if the URL
does not specify a Ptolemy II model.
- Throws:
java.lang.Exception
- If the URL cannot be read, or if the data
is malformed in some way.
_newEffigy
protected PtolemyEffigy _newEffigy(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Create a new effigy. We use the strategy pattern here
so that derived classes can easily override the exact class
that is created.
- Parameters:
container
- The container for the effigy.name
- The name.
- Returns:
- A new effigy.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
an entity already in the container.