ptolemy.actor.gui
Class TokenEffigy

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.kernel.CompositeEntity
                      extended by ptolemy.actor.gui.Effigy
                          extended by ptolemy.actor.gui.TokenEffigy
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class TokenEffigy
extends Effigy

An effigy for a file that contains one or more tokens, one per line, represented as text in the expression language.

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

Nested Class Summary
static class TokenEffigy.Factory
          A factory for creating new effigies.
 
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity
CompositeEntity.ContainedObjectsIterator
 
Field Summary
private  java.util.ArrayList _tokens
           
private  Variable _variable
           
 
Fields inherited from class ptolemy.actor.gui.Effigy
identifier, uri
 
Fields inherited from class ptolemy.kernel.CompositeEntity
_levelCrossingLinks
 
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
TokenEffigy(CompositeEntity container, java.lang.String name)
          Create a new effigy in the given directory with the given name.
TokenEffigy(Workspace workspace)
          Create a new effigy in the specified workspace with an empty string for its name.
 
Method Summary
 void append(Token token)
          Append the specified token to the token array associated with this effigy.
 void attributeChanged(Attribute attribute)
          If the argument is the uri parameter, then read the specified URL and parse the data contained in it.
 void clear()
          Clear the token array associated with this effigy.
 java.util.ArrayList getTokens()
          Return an array of the tokens in the file.
 void read(java.net.URL input)
          Read the specified URL and parse the data.
 void setTokens(java.util.List tokens)
          Set the token array associated with this effigy.
 void writeFile(java.io.File file)
          Write the current data of this effigy to the specified file.
 
Methods inherited from class ptolemy.actor.gui.Effigy
_checkContainer, _removeEntity, closeTableaux, getTableauFactory, getWritableFile, isModifiable, isModified, isSystemEffigy, masterEffigy, numberOfOpenTableaux, setContainer, setModifiable, setModified, setSystemEffigy, setTableauFactory, showTableaux, topEffigy
 
Methods inherited from class ptolemy.kernel.CompositeEntity
_addEntity, _addRelation, _adjustDeferrals, _deepOpaqueEntityList, _description, _exportMoMLContents, _finishedAddEntity, _recordDecoratedAttributes, _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, 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.Entity
_removePort, connectedPortList, connectedPorts, connectionsChanged, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
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, 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
 
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

_tokens

private java.util.ArrayList _tokens

_variable

private Variable _variable
Constructor Detail

TokenEffigy

public TokenEffigy(Workspace workspace)
Create a new effigy in the specified workspace with an empty string for its name.

Parameters:
workspace - The workspace for this effigy.

TokenEffigy

public TokenEffigy(CompositeEntity container,
                   java.lang.String name)
            throws IllegalActionException,
                   NameDuplicationException
Create a new effigy in the given directory with the given name.

Parameters:
container - The directory that contains this effigy.
name - The name of this 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.
Method Detail

append

public void append(Token token)
            throws IllegalActionException
Append the specified token to the token array associated with this effigy.

Parameters:
token - The token to append.
Throws:
IllegalActionException - If the token is not acceptable.

attributeChanged

public void attributeChanged(Attribute attribute)
                      throws IllegalActionException
If the argument is the uri parameter, then read the specified URL and parse the data contained in it.

Overrides:
attributeChanged in class Effigy
Parameters:
attribute - The attribute that changed.
Throws:
IllegalActionException - If the URL cannot be read or if the data is malformed.

clear

public void clear()
Clear the token array associated with this effigy.


getTokens

public java.util.ArrayList getTokens()
Return an array of the tokens in the file.

Returns:
An array of tokens in the file.
See Also:
setTokens(List)

read

public void read(java.net.URL input)
          throws java.io.IOException
Read the specified URL and parse the data.

Parameters:
input - The URL to read.
Throws:
java.io.IOException - If an error occurs while reading the URL or parsing the data.

setTokens

public void setTokens(java.util.List tokens)
               throws IllegalActionException
Set the token array associated with this effigy.

Parameters:
tokens - An array of tokens.
Throws:
IllegalActionException - If the tokens are not acceptable.
See Also:
getTokens()

writeFile

public void writeFile(java.io.File file)
               throws java.io.IOException
Write the current data of this effigy to the specified file. This is done by producing one line per token using its toString() method.

Overrides:
writeFile in class Effigy
Parameters:
file - The file to write to, or null to write to standard out.
Throws:
java.io.IOException - If the write fails.