ptolemy.actor.lib.string
Class StringSimpleReplace
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.string.StringSimpleReplace
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
- Direct Known Subclasses:
- StringReplace
public class StringSimpleReplace
- extends TypedAtomicActor
On each firing, look for instances of the pattern specified by pattern
in stringToEdit and replace them with the string given by
replacement. If replaceAll is true, then replace
all instances that match pattern. Otherwise, replace only
the first instance that matches. If there is no match, then the
output is the string provided by stringToEdit, unchanged.
The pattern is not a regular expression, to use
a regular expression, see {link ptolemy.actor.lib.io.StringReplace}.
The replacement string, as usual with string-valued parameters
in Ptolemy II, can include references to parameter values in scope.
E.g., if the enclosing composite actor has a parameter named "x"
with value 1, say, then the replacement string a${x}b will become
"a1b".
Note that if the pattern is the two character string
\r
, then that pattern is handled specially and
collapsed to the single character '\r'. This is for use in removing
\r's from test output.
- Since:
- Ptolemy II 8.0
- Version:
- $Id: StringSimpleReplace.java 57046 2010-01-27 23:35:53Z cxh $
- Author:
- Christopher Brooks
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
void |
attributeChanged(Attribute attribute)
Override the base class to compile a regular expression when
it is changed. |
void |
fire()
Perform pattern matching and substring replacement, and output
the modified string. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, 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 |
stringToEdit
public PortParameter stringToEdit
- The string to edit by replacing substrings that match the
specified pattern with the specified replacement. This is
a string that defaults to the empty string.
output
public TypedIOPort output
- The output port on which the edited string is produced.
This has type string.
pattern
public PortParameter pattern
- The pattern used to pattern match and replace the stringToEdit
string. It is an empty string by default.
replacement
public PortParameter replacement
- The replacement string that replaces any matched instance of the
pattern. It is an empty string by default.
_patternValue
private java.lang.String _patternValue
StringSimpleReplace
public StringSimpleReplace(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- Override the base class to compile a regular expression when
it is changed.
- Overrides:
attributeChanged
in class NamedObj
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If the specified attribute
is pattern and the regular expression fails to
compile.
fire
public void fire()
throws IllegalActionException
- Perform pattern matching and substring replacement, and output
the modified string. If no match is found, output the
unmodified stringToEdit string.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director.