jpl.fli
Class term_t

java.lang.Object
  extended by jpl.fli.LongHolder
      extended by jpl.fli.term_t

public class term_t
extends LongHolder

A term_t is a simple class which mirrors the term_t type in the Prolog FLI. All it really does is hold a term reference, which is an internal representation of a term in the Prolog Engine.


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 long UNASSIGNED
           
 
Fields inherited from class jpl.fli.LongHolder
value
 
Constructor Summary
term_t()
           
 
Method Summary
 boolean equals(java.lang.Object obj)
          Instances of term_ts are stored in Term objects (see jpl.Term), and these term_ts are in some cases stored in Hashtables.
static java.lang.String toString(int n, term_t term0)
          This static method converts a term_t, which is assumed to contain a reference to a *consecutive* list of term_t references to a String representation of a list of terms, in this case, a comma separated list.
 
Methods inherited from class jpl.fli.LongHolder
equals
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNASSIGNED

public static final long UNASSIGNED
See Also:
Constant Field Values
Constructor Detail

term_t

public term_t()
Method Detail

toString

public static java.lang.String toString(int n,
                                        term_t term0)
This static method converts a term_t, which is assumed to contain a reference to a *consecutive* list of term_t references to a String representation of a list of terms, in this case, a comma separated list.

Parameters:
n - the number of consecutive term_ts
term0 - a term_t whose value is the 0th term_t.

equals

public boolean equals(java.lang.Object obj)
Instances of term_ts are stored in Term objects (see jpl.Term), and these term_ts are in some cases stored in Hashtables. Supplying this predicate provides the right behavior in Hashtable lookup (see the rules for Hashtable lookup in java.util).

Note. Two term_ts are *not* equal if their values have not been assigned. (Since Prolog FLI term_ts are unsigned values and the UNASSIGNED value is -1, this should work).

Overrides:
equals in class java.lang.Object
Parameters:
obj - the Object to comapre.
Returns:
true if the supplied object is a term_t instances and the long values are the same