org.codehaus.gpars

groovyx.gpars.actor.impl
Class SequentialProcessingActor.MultiMessageReaction

java.lang.Object
  groovy.lang.GroovyObjectSupport
      groovy.lang.Closure
          groovyx.gpars.actor.impl.SequentialProcessingActor.MultiMessageReaction
All Implemented Interfaces:
org.codehaus.groovy.runtime.GeneratedClosure

class SequentialProcessingActor.MultiMessageReaction
extends groovy.lang.Closure

Enables multiple argument closures to be passed to react(). The MultiMessageReaction class takes just one argument and will wrap the intended closure. After invoking the MultiMessageReaction will curry the obtained value onto the wrapped multi-argument closure. The whole process of wrapping a multi-argument closure with MultiMessageReaction class instances is repeated until all arguments are curried. At that moment the original closure, now worth all arguments curried, gets invoked.

Authors:
Vaclav Pech


Field Summary
private groovy.lang.Closure code

private java.util.List localSenders

private int maxNumberOfParameters

private static long serialVersionUID

private long timeout

 
Fields inherited from class groovy.lang.Closure
OWNER_FIRST, DELEGATE_FIRST, OWNER_ONLY, DELEGATE_ONLY, TO_SELF, DONE, SKIP
 
Constructor Summary
private SequentialProcessingActor.MultiMessageReaction(groovy.lang.Closure code, int maxNumberOfParameters, long timeout, java.util.List localSenders)

 
Method Summary
java.lang.Object doCall(java.lang.Object args)

int getMaximumNumberOfParameters()

Class[] getParameterTypes()

 
Methods inherited from class groovy.lang.Closure
groovy.lang.Closure#run(), groovy.lang.Closure#setProperty(java.lang.String, java.lang.Object), groovy.lang.Closure#getProperty(java.lang.String), groovy.lang.Closure#clone(), groovy.lang.Closure#getParameterTypes(), groovy.lang.Closure#setDelegate(java.lang.Object), groovy.lang.Closure#getOwner(), groovy.lang.Closure#call(java.lang.Object), groovy.lang.Closure#call([Ljava.lang.Object;), groovy.lang.Closure#call(), groovy.lang.Closure#isCase(java.lang.Object), groovy.lang.Closure#getMaximumNumberOfParameters(), groovy.lang.Closure#setResolveStrategy(int), groovy.lang.Closure#getResolveStrategy(), groovy.lang.Closure#getThisObject(), groovy.lang.Closure#getDelegate(), groovy.lang.Closure#getDirective(), groovy.lang.Closure#asWritable(), groovy.lang.Closure#curry([Ljava.lang.Object;), groovy.lang.Closure#setDirective(int), groovy.lang.Closure#getMetaClass(), groovy.lang.Closure#setMetaClass(groovy.lang.MetaClass), groovy.lang.Closure#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.Closure#wait(long), groovy.lang.Closure#wait(), groovy.lang.Closure#wait(long, int), groovy.lang.Closure#equals(java.lang.Object), groovy.lang.Closure#toString(), groovy.lang.Closure#hashCode(), groovy.lang.Closure#getClass(), groovy.lang.Closure#notify(), groovy.lang.Closure#notifyAll()
 
Methods inherited from class groovy.lang.GroovyObjectSupport
groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#wait(long), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#equals(java.lang.Object), groovy.lang.GroovyObjectSupport#toString(), groovy.lang.GroovyObjectSupport#hashCode(), groovy.lang.GroovyObjectSupport#getClass(), groovy.lang.GroovyObjectSupport#notify(), groovy.lang.GroovyObjectSupport#notifyAll()
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

code

private final groovy.lang.Closure code


localSenders

private final java.util.List localSenders


maxNumberOfParameters

private final int maxNumberOfParameters


serialVersionUID

private static final long serialVersionUID


timeout

private final long timeout


 
Constructor Detail

SequentialProcessingActor.MultiMessageReaction

private SequentialProcessingActor.MultiMessageReaction(groovy.lang.Closure code, int maxNumberOfParameters, long timeout, java.util.List localSenders)


 
Method Detail

doCall

public java.lang.Object doCall(java.lang.Object args)


getMaximumNumberOfParameters

@Override
public int getMaximumNumberOfParameters()


getParameterTypes

@SuppressWarnings("rawtypes")
@Override
public Class[] getParameterTypes()


 

Copyright © 2008–2010 Václav Pech. All Rights Reserved.