public class OutOfProcessEclipse extends java.lang.Object implements EclipseConnection, EclipseEngine
destroy() method does
 not affect the ability to create new OutOfProcessEclipse instances.| Constructor and Description | 
|---|
| OutOfProcessEclipse(EclipseEngineOptions options)Create a new OutOfProcessEclipse using the supplied options. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | compile(java.io.File f)Direct ECLiPSe to compile a named object file. | 
| void | destroy()Terminate the OutOfProcessEclipse process and the connection to it. | 
| AsyncEclipseQueue | getAsyncEclipseQueue(java.lang.String name)Create or access an asynchronous queue to transfer data between Java
 and ECLiPSe. | 
| FromEclipseQueue | getEclipseStderr()Return a FromEclipseQueue which allows access to the ECLiPSe engine's
  stderrstream. | 
| ToEclipseQueue | getEclipseStdin()Return a ToEclipseQueue which allows access to the ECLiPSe engine's
  stdinstream. | 
| FromEclipseQueue | getEclipseStdout()Return a FromEclipseQueue which allows access to the ECLiPSe engine's
  stdoutstream. | 
| FromEclipseQueue | getFromEclipseQueue(java.lang.String name)Create or access a queue to transfer  data from ECLiPSe to Java. | 
| java.lang.String | getPath(java.io.File f)Convert a file path from the Java representation to the ECLiPSe
 representation. | 
| Atom | getPeerName()Return the name by which the peer representing the Java side of the
 connection is indexed in ECLiPSe. | 
| ToEclipseQueue | getToEclipseQueue(java.lang.String name)Create or access a queue to transfer data from Java to ECLiPSe. | 
| boolean | isUsingQueues()Query the ECLiPSe engine's "use queues" flag. | 
| EclipseMultitaskConnection | registerMultitask(MultitaskListener multitaskListener)Register this peer as desiring participation in any multitasking
 phases that ECLiPSe enters. | 
| CompoundTerm | rpc(CompoundTerm goal)Make an "RPC" (remote predicate call) to the ECLiPSe engine. | 
| CompoundTerm | rpc(java.lang.Object[] goalTerm)Convenience  rpcmethod. | 
| CompoundTerm | rpc(java.lang.String goal)Make an "RPC" (remote predicate call) to the ECLiPSe engine. | 
| CompoundTerm | rpc(java.lang.String functor,
   java.lang.Object arg1)Convenience  rpcmethod. | 
| CompoundTerm | rpc(java.lang.String functor,
   java.lang.Object[] args)Convenience  rpcmethod. | 
| CompoundTerm | rpc(java.lang.String functor,
   java.lang.Object arg1,
   java.lang.Object arg2)Convenience  rpcmethod. | 
| CompoundTerm | rpc(java.lang.String functor,
   java.lang.Object arg1,
   java.lang.Object arg2,
   java.lang.Object arg3)Convenience  rpcmethod. | 
| CompoundTerm | rpc(java.lang.String functor,
   java.lang.Object arg1,
   java.lang.Object arg2,
   java.lang.Object arg3,
   java.lang.Object arg4)Convenience  rpcmethod. | 
| CompoundTerm | rpc(java.lang.String functor,
   java.lang.Object arg1,
   java.lang.Object arg2,
   java.lang.Object arg3,
   java.lang.Object arg4,
   java.lang.Object arg5)Convenience  rpcmethod. | 
public OutOfProcessEclipse(EclipseEngineOptions options) throws java.io.IOException, EclipseException
options - settings for the new ECLiPSe engine.java.io.IOException - if the connection to the child process failedEclipseException - if there was a problem setting up the ECLiPSe side
 of the connection.public boolean isUsingQueues()
EclipseEngineisUsingQueues in interface EclipseEnginepublic ToEclipseQueue getEclipseStdin() throws EclipseTerminatedException
EclipseEnginestdin stream. Returns null if the ECLiPSe was not set
 up to use queue objects for its standard streams (see EclipseEngineOptions).getEclipseStdin in interface EclipseEngineEclipseTerminatedException - if the ECLiPSe engine has been destroyed
 or disconnected.public FromEclipseQueue getEclipseStdout() throws EclipseTerminatedException
EclipseEnginestdout stream. Returns null if the ECLiPSe was not set
 up to use queue objects for its standard streams (see EclipseEngineOptions).getEclipseStdout in interface EclipseEngineEclipseTerminatedException - if the ECLiPSe engine has been
 destroyed.public FromEclipseQueue getEclipseStderr() throws EclipseTerminatedException
EclipseEnginestderr stream. Returns null if the ECLiPSe was not set
 up to use queue objects for its standard streams (see EclipseEngineOptions).getEclipseStderr in interface EclipseEngineEclipseTerminatedException - if the ECLiPSe engine has been
 destroyed.public void destroy()
             throws java.io.IOException
destroy() has been invoked, future invocations of public
 methods will throw EclipseTerminatedExceptionsEclipseTerminatedException - if the destroy() method had
 already been called.java.io.IOExceptionpublic CompoundTerm rpc(java.lang.String goal) throws EclipseException, java.io.IOException
EclipseConnectionrpc in interface EclipseConnectiongoal - the goal as it would be typed in on the ECLiPSe command line,
 (the full stop is unnecessary).EclipseException - if execution of the goal fails or throws an
 ECLiPSe exception.java.io.IOException - if there was an I/O problem communicating with the
 ECLiPSe engine.EclipseTerminatedException - if this EclipseConnection has
 been terminated.public CompoundTerm rpc(CompoundTerm goal) throws EclipseException, java.io.IOException
EclipseConnectionrpc in interface EclipseConnectiongoal - the goal represented as a CompoundTerm.EclipseException - if execution of the goal fails or throws an
 ECLiPSe exception.java.io.IOException - if there was an I/O problem communicating with the
 ECLiPSe engine.EclipseTerminatedException - if this EclipseConnection has
 been terminated.public FromEclipseQueue getFromEclipseQueue(java.lang.String name) throws EclipseException, java.io.IOException
EclipseConnectiongetFromEclipseQueue in interface EclipseConnectionname - the name to be used for the stream representing the queue on
 the ECLiPSe side.EclipseException - if the name for the ECLiPSe stream is already in use,
  or ECLiPSe could not create its side of the queue for some reason.java.io.IOException - if there was an I/O problem while accessing ECLiPSe.EclipseTerminatedException - if this EclipseConnection has
 been terminated.public ToEclipseQueue getToEclipseQueue(java.lang.String name) throws EclipseException, java.io.IOException
EclipseConnectiongetToEclipseQueue in interface EclipseConnectionname - the name to be used for the stream representing the queue on
 the ECLiPSe side.EclipseException - if the name for the ECLiPSe stream is already in use,
  or ECLiPSe could not create its side of the queue for some reason.java.io.IOException - if there was an I/O problem while accessing ECLiPSe.EclipseTerminatedException - if this EclipseConnection has
 been terminated.public AsyncEclipseQueue getAsyncEclipseQueue(java.lang.String name) throws EclipseException, java.io.IOException
EclipseConnectiongetAsyncEclipseQueue in interface EclipseConnectionname - the name to be used for the stream representing the queue on
 the ECLiPSe side.EclipseException - if the name for the ECLiPSe stream is already in use,
  or ECLiPSe could not create its side of the queue for some reason.java.io.IOException - if there was an I/O problem while accessing ECLiPSe.EclipseTerminatedException - if this EclipseConnection has
 been terminated.public void compile(java.io.File f)
             throws EclipseException,
                    java.io.IOException
EclipseConnectioncompile in interface EclipseConnectionf - file the path of the ECLiPSe object file which is to be compiled.EclipseException - if ECLiPSe failed or threw an exception whilst trying
 to compile the file.java.io.IOException - if there was an I/O problem while communicating with
 ECLiPSe.EclipseTerminatedException - if this EclipseConnection has
 been terminated.public java.lang.String getPath(java.io.File f)
                         throws EclipseException,
                                java.io.IOException
EclipseConnectiongetPath in interface EclipseConnectionf - the file path to be converted.EclipseException - if ECLiPSe failed or threw an exception whilst trying
 to convert the file path.java.io.IOException - if there was an I/O problem while communicating with
 ECLiPSe.EclipseTerminatedException - if this EclipseConnection has
 been terminated.public CompoundTerm rpc(java.lang.String functor, java.lang.Object arg1) throws EclipseException, java.io.IOException
EclipseConnectionrpc method. The user supplies the functor string and
 1 argument.rpc in interface EclipseConnectionEclipseTerminatedException - if this EclipseConnection has
 been terminated.EclipseExceptionjava.io.IOExceptionEclipseConnection.rpc(CompoundTerm)public CompoundTerm rpc(java.lang.String functor, java.lang.Object arg1, java.lang.Object arg2) throws EclipseException, java.io.IOException
EclipseConnectionrpc method. The user supplies the functor string and
 2 arguments.rpc in interface EclipseConnectionEclipseTerminatedException - if this EclipseConnection has
 been terminated.EclipseExceptionjava.io.IOExceptionEclipseConnection.rpc(CompoundTerm)public CompoundTerm rpc(java.lang.String functor, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3) throws EclipseException, java.io.IOException
EclipseConnectionrpc method. The user supplies the functor string and
 3 arguments.rpc in interface EclipseConnectionEclipseTerminatedException - if this EclipseConnection has
 been terminated.EclipseExceptionjava.io.IOExceptionEclipseConnection.rpc(CompoundTerm)public CompoundTerm rpc(java.lang.String functor, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4) throws EclipseException, java.io.IOException
EclipseConnectionrpc method. The user supplies the functor string and
 4 arguments.rpc in interface EclipseConnectionEclipseTerminatedException - if this EclipseConnection has
 been terminated.EclipseExceptionjava.io.IOExceptionEclipseConnection.rpc(CompoundTerm)public CompoundTerm rpc(java.lang.String functor, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5) throws EclipseException, java.io.IOException
EclipseConnectionrpc method. The user supplies the functor string and
 5 arguments.rpc in interface EclipseConnectionEclipseTerminatedException - if this EclipseConnection has
 been terminated.EclipseExceptionjava.io.IOExceptionEclipseConnection.rpc(CompoundTerm)public CompoundTerm rpc(java.lang.String functor, java.lang.Object[] args) throws EclipseException, java.io.IOException
EclipseConnectionrpc method. The user supplies the functor string and
 an array of arguments.rpc in interface EclipseConnectionEclipseTerminatedException - if this EclipseConnection has
 been terminated.EclipseExceptionjava.io.IOExceptionEclipseConnection.rpc(CompoundTerm)public CompoundTerm rpc(java.lang.Object[] goalTerm) throws EclipseException, java.io.IOException
EclipseConnectionrpc method. The user supplies an array. Element 0
 is the functor of the goal term and the remaining elements are the arguments.rpc in interface EclipseConnectionEclipseTerminatedException - if this EclipseConnection has
 been terminated.EclipseExceptionjava.io.IOExceptionEclipseConnection.rpc(CompoundTerm)public Atom getPeerName()
EclipseConnectiongetPeerName in interface EclipseConnectionpublic EclipseMultitaskConnection registerMultitask(MultitaskListener multitaskListener) throws EclipseException, java.io.IOException
EclipseConnectionregisterMultitask in interface EclipseConnectionmultitaskListener - A listener whose methods are called when
 ECLiPSe enters/leaves multitasking phases.EclipseException - if registration fails or throws an
 ECLiPSe exception.java.io.IOException - if there was an I/O problem communicating with the
 ECLiPSe engine.EclipseTerminatedException - if this EclipseConnection has
 been terminated.