|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.ptalon.lib.MapWorker
public class MapWorker
A MapWorker actor, as a subsystem of the MapReduce system.
This actor has a parameter classNameForMap which is the qualified name for a Java class that extends ptolemy.actor.ptalon.lib.MapReduceAlgorithm. It must also have a no argument constructor. By extending this abstract class, it will implement a method named map with type signature:
public List<KeyValuePair> map(String key, String value)
This method defines the Map algorithm for the MapReduce system. At each call, it should return list of KeyValuePairs, which is just a pair of strings, one representing a key for the reduce algorithm, and one representing a value for the reduce algorithm. One instance of the MapReduce algorithm class will be created when the classNameForMap parameter is set. It will be reused at each firing. This actor inputs a key and value token and outputs key, value pairs for each pair in the list generated by the user defined map procedure.
KeyValuePair
,
MapReduceAlgorithm
,
Serialized Form
Red (cxh) |
Red (cxh) |
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ptolemy.kernel.Entity |
---|
Entity.ContainedObjectsIterator |
Field Summary | |
---|---|
private MapReduceAlgorithm |
_algorithm
|
StringParameter |
classNameForMap
The qualifed class name for a Java class containing a method with signature: public static List<String[]> map(String key, String value)
Each element of each returned list should be a length two array of
Strings. |
TypedIOPort |
inputKey
A String input key. |
TypedIOPort |
inputValue
A String input value. |
TypedIOPort |
outputKey
A String output key. |
TypedIOPort |
outputValue
A String output value. |
Fields inherited from class ptolemy.actor.AtomicActor |
---|
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Fields inherited from interface ptolemy.actor.Executable |
---|
COMPLETED, NOT_READY, STOP_ITERATING |
Constructor Summary | |
---|---|
MapWorker(CompositeEntity container,
java.lang.String name)
Create a new actor in the specified container with the specified name. |
Method Summary | |
---|---|
private void |
_setMapMethod()
Set the map method using the class specified in classNameForMap. |
void |
attributeChanged(Attribute attribute)
React to a change in an attribute. |
void |
fire()
Read in a token on the inputKey and inputValue ports and output pairs of tokens on the ouputKey, outputValue ports. |
void |
initialize()
Extract the map method from the classNameForMap parameter. |
boolean |
prefire()
Return true if there is an available key token and value token on the inputKey and inputValue ports. |
Methods inherited from class ptolemy.actor.TypedAtomicActor |
---|
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints |
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.InstantiableNamedObj |
---|
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ptolemy.actor.Actor |
---|
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList |
Methods inherited from interface ptolemy.actor.Executable |
---|
isFireFunctional, isStrict, iterate, postfire, stop, stopFire, terminate |
Methods inherited from interface ptolemy.actor.Initializable |
---|
addInitializable, preinitialize, removeInitializable, wrapup |
Methods inherited from interface ptolemy.kernel.util.Nameable |
---|
description, getContainer, getDisplayName, getFullName, getName, getName, setName |
Methods inherited from interface ptolemy.kernel.util.Derivable |
---|
getDerivedLevel, getDerivedList, propagateValue |
Field Detail |
---|
public StringParameter classNameForMap
public static List<String[]> map(String key, String value)
Each element of each returned list should be a length two array of Strings.
public TypedIOPort inputKey
public TypedIOPort inputValue
public TypedIOPort outputKey
public TypedIOPort outputValue
private MapReduceAlgorithm _algorithm
Constructor Detail |
---|
public MapWorker(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor within the container.
IllegalActionException
- If this actor cannot be contained
by the proposed container (see the setContainer() method).
NameDuplicationException
- If the name coincides with
an entity already in the container.Method Detail |
---|
public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that changed.
IllegalActionException
- If the change is not acceptable
to this container. If the class set in classNameForMap
does not exist, or if the class exists but does not contain a map
method with an appropriate signature, this exception will be thrown.public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor
IllegalActionException
- If there is any trouble calling
the map method.public boolean prefire() throws IllegalActionException
prefire
in interface Executable
prefire
in class AtomicActor
IllegalActionException
- Not thrown in this class.public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class AtomicActor
IllegalActionException
- If unable to extract an appropriate
map method.private void _setMapMethod() throws IllegalActionException
IllegalActionException
- If the map method does not
exist, has the wrong type signature, or has the wrong
access modifiers.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |