orc.runtime.sites
Class PartialSite

java.lang.Object
  extended by orc.runtime.values.Value
      extended by orc.runtime.sites.Site
          extended by orc.runtime.sites.PartialSite
All Implemented Interfaces:
Callable
Direct Known Subclasses:
If, MatchProxy, Random, SiteSite, URandom

public abstract class PartialSite
extends Site

Abstract class for sites with a partial and immediate semantics: evaluate as for a total immediate site (see EvalSite), but if the evaluation returns null, the site remains silent. The site "if" is a good example. Subclasses must implement the method evaluate, which takes an argument list and returns a single value (possibly null).

Author:
dkitchin

Field Summary
 
Fields inherited from class orc.runtime.values.Value
futureNotReady
 
Constructor Summary
PartialSite()
           
 
Method Summary
 void callSite(Args args, Token caller)
          Must be implemented by subclasses to implement the site behavior
abstract  java.lang.Object evaluate(Args args)
           
 
Methods inherited from class orc.runtime.sites.Site
accept, createCall, type
 
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

PartialSite

public PartialSite()
Method Detail

callSite

public void callSite(Args args,
                     Token caller)
              throws TokenException
Description copied from class: Site
Must be implemented by subclasses to implement the site behavior

Specified by:
callSite in class Site
Parameters:
args - list of argument values
caller - where the result should be sent
Throws:
TokenException

evaluate

public abstract java.lang.Object evaluate(Args args)
                                   throws TokenException
Throws:
TokenException