ptolemy.vergil.kernel.attributes
Class IDAttribute

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.util.Attribute
          extended by ptolemy.kernel.util.SingletonAttribute
              extended by ptolemy.vergil.kernel.attributes.IDAttribute
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable, Singleton

public class IDAttribute
extends SingletonAttribute

This attribute identifies the containing model, showing its name, base class, last modified date, author, and contributors information. Of these, only the contributors information is editable. For the others, they are inferred from either the model itself or the operations on the model. Unfortunately, the changes will not be shown on the display until the model is saved, closed and re-opened.

Since:
Ptolemy II 4.1
Version:
$Id: IDAttribute.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
 
Field Summary
 StringAttribute author
          The author of the model.
 StringAttribute baseClass
          The base class of the containing class or entity.
 StringAttribute contributors
          The contributors of the model.
 StringAttribute created
          The date that this model was created.
 StringAttribute isClass
          A boolean indicating whether the container is a class or an instance.
 StringAttribute lastUpdated
          The date that this model was last updated.
 StringAttribute name
          The name of the containing class or entity.
 
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
IDAttribute(Entity container, java.lang.String name)
          Construct an attribute with the given name contained by the specified container.
 
Method Summary
private  void _updateDate()
          Set the current date for the lastUpdated parameter.
 void attributeChanged(Attribute attribute)
          React to a change in an attribute.
 void updateContent()
          Update the modification date of this attribute.
 
Methods inherited from class ptolemy.kernel.util.SingletonAttribute
setContainer
 
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, clone, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setName
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _description, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, 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, propagateExistence, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

author

public StringAttribute author
The author of the model.


contributors

public StringAttribute contributors
The contributors of the model.


created

public StringAttribute created
The date that this model was created.


baseClass

public StringAttribute baseClass
The base class of the containing class or entity.


isClass

public StringAttribute isClass
A boolean indicating whether the container is a class or an instance. This is a string that must have value "true" or "false".


lastUpdated

public StringAttribute lastUpdated
The date that this model was last updated.


name

public StringAttribute name
The name of the containing class or entity.

Constructor Detail

IDAttribute

public IDAttribute(Entity container,
                   java.lang.String name)
            throws IllegalActionException,
                   NameDuplicationException
Construct an attribute with the given name contained by the specified container. The container argument must not be null, or a NullPointerException will be thrown. This attribute will use the workspace of the container for synchronization and version counts. If the name argument is null, then the name is set to the empty string. Increment the version of the workspace.

Parameters:
container - The container.
name - The name of this attribute.
Throws:
IllegalActionException - If the attribute is not of an acceptable class for the container, or if the name contains a period.
NameDuplicationException - If the name coincides with an attribute already in the container.
Method Detail

attributeChanged

public void attributeChanged(Attribute attribute)
                      throws IllegalActionException
React to a change in an attribute. If the attribute is name, then change the name of the container to match.

Overrides:
attributeChanged in class NamedObj
Parameters:
attribute - The attribute that changed.
Throws:
IllegalActionException - If the change is not acceptable to this container (not thrown in this base class).

updateContent

public void updateContent()
                   throws InternalErrorException
Update the modification date of this attribute.

Overrides:
updateContent in class Attribute
Throws:
InternalErrorException - Not thrown in this base class.

_updateDate

private void _updateDate()
Set the current date for the lastUpdated parameter.