orc.lib.state
Class Ref

java.lang.Object
  extended by orc.runtime.values.Value
      extended by orc.runtime.sites.Site
          extended by orc.runtime.sites.EvalSite
              extended by orc.lib.state.Ref
All Implemented Interfaces:
Callable

public class Ref
extends EvalSite

Author:
dkitchin Rewritable mutable reference. The reference can be initialized with a value, or left initially empty. Read operations block if the reference is empty. Write operatons always succeed.

Nested Class Summary
static class Ref.RefInstance
           
 
Field Summary
 
Fields inherited from class orc.runtime.values.Value
futureNotReady
 
Constructor Summary
Ref()
           
 
Method Summary
 java.lang.Object evaluate(Args args)
           
 Type type()
           
 
Methods inherited from class orc.runtime.sites.EvalSite
callSite
 
Methods inherited from class orc.runtime.sites.Site
accept, createCall
 
Methods inherited from class orc.runtime.values.Value
forceArg, forceCall, signal, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ref

public Ref()
Method Detail

evaluate

public java.lang.Object evaluate(Args args)
Specified by:
evaluate in class EvalSite

type

public Type type()
          throws TypeException
Overrides:
type in class Site
Throws:
TypeException