thales.actor.gui
Class NavigableEffigy.Factory
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.kernel.CompositeEntity
ptolemy.actor.gui.EffigyFactory
thales.actor.gui.NavigableEffigy.Factory
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
- Direct Known Subclasses:
- NavigableEffigy.FactoryWithoutNew
- Enclosing class:
- NavigableEffigy
public static class NavigableEffigy.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 |
_tagToCheck
protected java.lang.String _tagToCheck
NavigableEffigy.Factory
public NavigableEffigy.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", then
return null. If the URL points to an XML file that is not
a MoML file, then also return null.
The specified base is used to expand any relative file references
within the URL.
- 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.
modelIsValid
private boolean modelIsValid(NamedObj model)
checkFile
private boolean checkFile(java.net.URL url)
_newEffigy
protected NavigableEffigy _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
NameDuplicationException