orc.runtime.sites.java
Class ThreadedObjectProxy

java.lang.Object
  extended by orc.runtime.values.Value
      extended by orc.runtime.sites.Site
          extended by orc.runtime.sites.java.ThreadedObjectProxy
All Implemented Interfaces:
Callable

public class ThreadedObjectProxy
extends Site

Objects whose methods should always be called in new threads. This is to be avoided if possible, but it's safer than allowing native methods to block the interpreter. The main reason you might need this is when wrapping some other proxy, like a webservices proxy.

Author:
quark

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

ThreadedObjectProxy

public ThreadedObjectProxy(java.lang.Object instance)
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