jpl

Class Util

public final class Util extends Object

This class provides a bunch of static utility methods for the JPL High-Level Interface.
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.


Method Summary
static String[]atomListToStringArray(Term t)
static Term[]bindingsToTermArray(Map varnames_to_Terms)
Converts a solution hashtable to an array of Terms.
static TermintArrayArrayToList(int[][] a)
Converts an array of arrays of int to a corresponding JPL list of lists
static TermintArrayToList(int[] a)
Converts an array of int to a corresponding JPL list
static intlistToLength(Term t)
static Term[]listToTermArray(Term t)
converts a proper list to an array of terms, else throws an exception
static MapnamevarsToMap(Term nvs)
Converts a (JPL) list of Name=Var pairs (as yielded by atom_to_term/3) to a Map from Prolog variables (necessarily in term_t holders) to named JPL Variables
static TermstringArrayToList(String[] a)
Converts an array of String to a corresponding JPL list
static TermtermArrayToList(Term[] terms)
Converts an array of Terms to a JPL representation of a Prolog list of terms whose members correspond to the respective array elements.
static TermtextParamsToTerm(String text, Term[] params)
Converts a Prolog source text to a corresponding JPL Term (in which each Variable has the appropriate name from the source text), replacing successive occurrences of ?
static TermtextToTerm(String text)
Converts a Prolog source text to a corresponding JPL Term (in which each Variable has the appropriate name from the source text).
static StringtoString(Map varnames_to_Terms)
Converts a substitution, in the form of a Map from variable names to Terms, to a String.

Method Detail

atomListToStringArray

public static String[] atomListToStringArray(Term t)

bindingsToTermArray

public static Term[] bindingsToTermArray(Map varnames_to_Terms)
Converts a solution hashtable to an array of Terms.

Parameters: varnames_to_Terms A Map from variable names to Terms

Returns: Term[] An array of the Terms to which successive variables are bound

intArrayArrayToList

public static Term intArrayArrayToList(int[][] a)
Converts an array of arrays of int to a corresponding JPL list of lists

Parameters: a An array of arrays of int values

Returns: Term a JPL list of lists corresponding to the given int array of arrays

intArrayToList

public static Term intArrayToList(int[] a)
Converts an array of int to a corresponding JPL list

Parameters: a An array of int values

Returns: Term a JPL list corresponding to the given int array

listToLength

public static int listToLength(Term t)

listToTermArray

public static Term[] listToTermArray(Term t)
converts a proper list to an array of terms, else throws an exception

Returns: an array of terms whose successive elements are the corresponding members of the list (if it is a list)

Throws: JPLException

namevarsToMap

public static Map namevarsToMap(Term nvs)
Converts a (JPL) list of Name=Var pairs (as yielded by atom_to_term/3) to a Map from Prolog variables (necessarily in term_t holders) to named JPL Variables

Parameters: nvs A JPL list of Name=Var pairs (as yielded by atom_to_term/3)

Returns: Map A Map from Prolog variables (necessarily in term_t holders) to named JPL Variables

stringArrayToList

public static Term stringArrayToList(String[] a)
Converts an array of String to a corresponding JPL list

Parameters: a An array of String objects

Returns: Term a JPL list corresponding to the given String array

termArrayToList

public static Term termArrayToList(Term[] terms)
Converts an array of Terms to a JPL representation of a Prolog list of terms whose members correspond to the respective array elements.

Parameters: terms An array of Term

Returns: Term a list of the array elements

textParamsToTerm

public static Term textParamsToTerm(String text, Term[] params)
Converts a Prolog source text to a corresponding JPL Term (in which each Variable has the appropriate name from the source text), replacing successive occurrences of ? in the text by the corresponding element of Term[] params. (New in JPL 3.0.4) Throws PrologException containing error(syntax_error(_),_) if text is invalid.

Parameters: text A Prolog source text denoting a term

Returns: Term a JPL Term equivalent to the given source text

textToTerm

public static Term textToTerm(String text)
Converts a Prolog source text to a corresponding JPL Term (in which each Variable has the appropriate name from the source text). Throws PrologException containing error(syntax_error(_),_) if text is invalid.

Parameters: text A Prolog source text denoting a term

Returns: Term a JPL Term equivalent to the given source text

toString

public static String toString(Map varnames_to_Terms)
Converts a substitution, in the form of a Map from variable names to Terms, to a String.

Parameters: varnames_to_Terms A Map from variable names to Terms.

Returns: String A String representation of the variable bindings