ptolemy.actor.lib.string
Class StringCompare
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.StringCompare
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class StringCompare
- extends TypedAtomicActor
Compare two strings specified either as inputs or parameters. The output
is either true or false, depending on whether the comparison function is
satisfied. The comparison functions are:
- equals: Output true if the strings are equal (Default).
- startsWith: Output true if firstString starts with
secondString.
- endsWith: Output true if firstString ends with
secondString.
- contains: Output true if firstString contains
secondString.
The strings to be compared will be taken from the inputs if they are
available, and otherwise will be taken from the corresponding parameters.
- Since:
- Ptolemy II 4.0
- Version:
- $Id: StringCompare.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Vinay Krishnan, Daniel Lázaro Cuadrado (contributor: Edward A. Lee)
- 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 |
private boolean |
_doFunction(java.lang.String input1,
java.lang.String input2)
Calculate the function selected on the given inputs. |
void |
attributeChanged(Attribute attribute)
Override the base class to determine which function is being
specified. |
void |
fire()
Consume exactly one input token from each input port, and compute the
specified string function of the input taking into account the
ignoreCase parameter. |
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 |
function
public Parameter function
- The comparison function to be performed. The choices are:
- equals: Compares firstString to another secondString
(Default).
- startsWith: Tests whether firstString starts with
secondString.
- endsWith: Tests whether firstString ends with secondString.
- contains: Tests whether firstString contains secondString.
firstString
public PortParameter firstString
- The input PortParameter for the first string of type string.
ignoreCase
public Parameter ignoreCase
- The parameter to state whether to ignore case. This is a
boolean that defaults to false.
output
public TypedIOPort output
- The output port for the result of type BooleanToken.
secondString
public PortParameter secondString
- The input PortParameter for the second string of type string.
_function
private int _function
_EQUALS
private static final int _EQUALS
- See Also:
- Constant Field Values
_STARTSWITH
private static final int _STARTSWITH
- See Also:
- Constant Field Values
_ENDSWITH
private static final int _ENDSWITH
- See Also:
- Constant Field Values
_CONTAINS
private static final int _CONTAINS
- See Also:
- Constant Field Values
StringCompare
public StringCompare(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
Construct the two operand input PortParameters (initialized to "")
and the output port which outputs the result of the various comparison
functions executed by the actor. The function to be executed is
decided by the parameter function, which is also initialized
here to the comparison function equals. The ignoreCase parameter
allows to ignore case when comparing.
- 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 determine which function is being
specified.
- Overrides:
attributeChanged
in class NamedObj
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If the function is not recognized.
fire
public void fire()
throws IllegalActionException
- Consume exactly one input token from each input port, and compute the
specified string function of the input taking into account the
ignoreCase parameter.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director.
_doFunction
private boolean _doFunction(java.lang.String input1,
java.lang.String input2)
- Calculate the function selected on the given inputs.
- Parameters:
input1
- The first input String.input2
- The second input String.
- Returns:
- The result of applying the function.