jpl
Class JPL

java.lang.Object
  extended by jpl.JPL

public class JPL
extends java.lang.Object

The jpl.JPL class contains methods which allow (i) inspection and alteration of the "default" initialisation arguments (ii) explicit initialisation (iii) discovery of whether the Prolog engine is already initialised, and if so, with what arguments. The Prolog engine must be initialized before any queries are made, but this will happen automatically (upon the first call to a Prolog FLI routine) if it has not already been done explicitly.


Copyright (C) 2004 Paul Singleton

Copyright (C) 1998 Fred Dushin

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library Public License for more details.



Field Summary
static Term JFALSE
           
static Term JNULL
           
static Term JTRUE
           
static Term JVOID
           
 
Constructor Summary
JPL()
           
 
Method Summary
static java.lang.String[] getActualInitArgs()
          Returns, in an array of String, the sequence of command-line arguments that were actually used when the Prolog engine was formerly initialised.
static java.lang.String[] getDefaultInitArgs()
          Returns, in an array of String, the sequence of command-line arguments that would be used if the Prolog engine were to be initialised now.
static void halt()
          Deprecated.  
static boolean init()
          Initialises the Prolog engine using the current default initialisation parameters, and returns 'true' (or 'false' if already initialised).
static boolean init(java.lang.String[] args)
          Initializes the Prolog engine, using the String argument parameters passed.
static boolean isTag(java.lang.String s)
          whether the String arg is a plausible tag, e.g.
static void loadNativeLibrary()
           
static void main(java.lang.String[] args)
           
static Term newJRef(java.lang.Object obj)
          returns a new Term instance which represents the given object
static void setDefaultInitArgs(java.lang.String[] args)
          Specifies, in an array of String, the sequence of command-line arguments that should be used if the Prolog engine is subsequently initialised.
static void setDTMMode(boolean dtm)
          Sets the global "dont-tell-me" mode (default value: true).
static java.lang.String setNativeLibraryDir(java.lang.String newDir)
           
static java.lang.String setNativeLibraryName(java.lang.String newName)
           
static java.lang.String setNativeLibraryPath(java.lang.String newPath)
           
static java.lang.String version_string()
          Returns a String (eg "3.0.0-alpha") identifying this version of JPL.
static jpl.Version version()
          Returns (as a Version) an identification of this version of JPL.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JFALSE

public static final Term JFALSE

JTRUE

public static final Term JTRUE

JNULL

public static final Term JNULL

JVOID

public static final Term JVOID
Constructor Detail

JPL

public JPL()
Method Detail

setNativeLibraryName

public static java.lang.String setNativeLibraryName(java.lang.String newName)

setNativeLibraryDir

public static java.lang.String setNativeLibraryDir(java.lang.String newDir)

setNativeLibraryPath

public static java.lang.String setNativeLibraryPath(java.lang.String newPath)

loadNativeLibrary

public static void loadNativeLibrary()

setDTMMode

public static void setDTMMode(boolean dtm)
Sets the global "dont-tell-me" mode (default value: true). When 'true', bindings will *not* be returned for any variable (in a Query's goal) whose name begins with an underscore character (except for "anonymous" variables, i.e. those whose name comprises just the underscore character, whose bindings are never returned). When 'false', bindings are returned for *all* variables except anonymous ones; this mode may be useful when traditional top-level interpreter behaviour is wanted, e.g. in a Java-based Prolog IDE or debugger.

This method should be regarded as experimental, and may subsequently be deprecated in favour of some more general mechanism for setting options, perhaps per-Query and per-call as well as globally.

Parameters:
dtm - new "dont-tell-me" mode value

getDefaultInitArgs

public static java.lang.String[] getDefaultInitArgs()
Returns, in an array of String, the sequence of command-line arguments that would be used if the Prolog engine were to be initialised now. Returns null if the Prolog VM has already been initialised (in which case the default init args are irrelevant and the actual init args are of interest)

Returns:
current default initialisation arguments, or null if already initialised
See Also:
getActualInitArgs()

setDefaultInitArgs

public static void setDefaultInitArgs(java.lang.String[] args)
Specifies, in an array of String, the sequence of command-line arguments that should be used if the Prolog engine is subsequently initialised.

Parameters:
args - new default initialization arguments

getActualInitArgs

public static java.lang.String[] getActualInitArgs()
Returns, in an array of String, the sequence of command-line arguments that were actually used when the Prolog engine was formerly initialised. This method returns null if the Prolog engine has not yet been initialised, and thus may be used to test this condition.

Returns:
actual initialization arguments

init

public static boolean init(java.lang.String[] args)
Initializes the Prolog engine, using the String argument parameters passed. This method need be called only if you want to both (i) initialise the Prolog engine with parameters other than the default ones and (ii) force initialisation to occur (rather than allow it to occur automatically at the first query). For parameter options, consult your local Prolog documentation. The parameter values are passed directly to initialization routines for the Prolog environment.

This method must be called before making any queries.

Parameters:
args - Initialization parameter list

init

public static boolean init()
Initialises the Prolog engine using the current default initialisation parameters, and returns 'true' (or 'false' if already initialised).


isTag

public static boolean isTag(java.lang.String s)
whether the String arg is a plausible tag, e.g. "J#0123456789".


newJRef

public static Term newJRef(java.lang.Object obj)
returns a new Term instance which represents the given object


halt

public static void halt()
Deprecated. 

Terminates the Prolog session.

Note. This method calls the FLI halt() method with a status of 0, but the halt method currently is a no-op in SWI.


version

public static jpl.Version version()
Returns (as a Version) an identification of this version of JPL.

Returns:
the running version of JPL.

version_string

public static java.lang.String version_string()
Returns a String (eg "3.0.0-alpha") identifying this version of JPL.

Returns:
a String (eg "3.0.0-alpha") identifying this version of JPL.

main

public static void main(java.lang.String[] args)