| 
org.codehaus.gpars | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectgroovyx.gpars.agent.AgentCore
groovyx.gpars.agent.AgentBase
abstract class AgentBase extends AgentCore
Implements most of Agent's public method in Java
| Nested Class Summary | |
|---|---|
        private static class | 
        
            AgentBase.AwaitClosure
             | 
        
| Field Summary | |
|---|---|
        private static groovy.lang.Closure | 
        
            awaitClosure
             | 
        
        private groovy.lang.Closure | 
        
            copy
             | 
        
        protected java.lang.Object | 
        
            data
             | 
        
        private java.util.Collection | 
        
            listeners
             | 
        
        protected java.util.concurrent.locks.ReadWriteLock | 
        
            lock
             | 
        
        private java.util.Collection | 
        
            validators
             | 
        
| Fields inherited from class AgentCore | |
|---|---|
| core, currentThread, errors | 
| Constructor Summary | |
            AgentBase(java.lang.Object data)
             | 
        |
            AgentBase(java.lang.Object data, groovy.lang.Closure copy)
            Accepts a NullObject instance and sets the internal state to null  | 
        |
| Method Summary | |
|---|---|
            void
         | 
        
            addListener(groovy.lang.Closure listener)
            Adds a validator checking the agent's state A listener should be a closure accepting the old and the new value in this order plus optionally the agent reference as the first argument.  | 
        
            void
         | 
        
            addValidator(groovy.lang.Closure validator)
            Only two-argument closures are allowed  | 
        
            void
         | 
        
            await()
            Blocks until all messages in the queue prior to call to await() complete.  | 
        
            private groovy.lang.Closure
         | 
        
            checkClosure(groovy.lang.Closure code)
            Returns the current value of the Agent's state  | 
        
            java.lang.Object
         | 
        
            getInstantVal()
            A shorthand method for safe message-based retrieval of the internal state.  | 
        
            java.lang.Object
         | 
        
            getVal()
            A shorthand method for safe asynchronous message-based retrieval of the internal state.  | 
        
            void
         | 
        
            onMessage(org.codehaus.groovy.runtime.NullObject obj)
            Accepts and invokes the closure  | 
        
            void
         | 
        
            onMessage(groovy.lang.Closure code)
            Other messages than closures are accepted as new values for the internal state  | 
        
            void
         | 
        
            onMessage(java.lang.Object message)
            Allows closures to set the new internal state as a whole Do not call this method directly from the outside.  | 
        
            java.lang.Object
         | 
        
            sendAndWait(groovy.lang.Closure message)
             | 
        
            void
         | 
        
            updateValue(java.lang.Object newValue)
             | 
        
            void
         | 
        
            valAsync(groovy.lang.Closure callback)
             | 
        
| Methods inherited from class AgentCore | |
|---|---|
| attachToThreadPool, call, getErrors, handleMessage, hasErrors, isFair, leftShift, makeFair, registerError, send, setPGroup | 
| Field Detail | 
|---|
private static final groovy.lang.Closure awaitClosure
private final groovy.lang.Closure copy
protected java.lang.Object data
private final java.util.Collection listeners
protected java.util.concurrent.locks.ReadWriteLock lock
private final java.util.Collection validators
| Constructor Detail | 
|---|
AgentBase(java.lang.Object data)
AgentBase(java.lang.Object data, groovy.lang.Closure copy)
obj -  The received message
| Method Detail | 
|---|
public void addListener(groovy.lang.Closure listener)
validator -  The closure with two or three arguments
public void addValidator(groovy.lang.Closure validator)
code -  The passed-in closure
public final void await()
private groovy.lang.Closure checkClosure(groovy.lang.Closure code)
@java.lang.SuppressWarnings* @throws InterruptedException If the thread gets interrupted while waiting for a value to be bound public final java.lang.Object getInstantVal()
public final java.lang.Object getVal()
callback -  A closure to invoke with the internal state as a parameter
final void onMessage(org.codehaus.groovy.runtime.NullObject obj)
code -  The received message
final void onMessage(groovy.lang.Closure code)
message -  The received message
final void onMessage(java.lang.Object message)
newValue -  The value to set the internal state to
@java.lang.SuppressWarnings}); public final java.lang.Object sendAndWait(groovy.lang.Closure message)
@java.lang.SuppressWarningslistener.call(new Object[]{oldValue, newValue});
public final void updateValue(java.lang.Object newValue)
        
public final void valAsync(groovy.lang.Closure callback)
Copyright © 2008–2013 Václav Pech. All Rights Reserved.