jpl
public class Compound extends Term
new Compound( "f", new Term[] { new Atom("a") } )Note the use of the "anonymous array" notation to denote the arguments (an anonymous array of Term).
Util.textToTerm("f(a)")The arity of a Compound is the quantity of its arguments. Once constructed, neither the name nor the arity of a Compound can be altered. An argument of a Compound can be replaced with the setArg() method.
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.
Constructor Summary | |
---|---|
Compound(String name, Term[] args)
Creates a Compound with name and args.
| |
Compound(String name, int arity)
Creates a Compound with name and arity.
|
Method Summary | |
---|---|
Term | arg(int i)
Returns the ith argument (counting from 1) of this Compound;
throws an ArrayIndexOutOfBoundsException if i is inappropriate.
|
Term | arg0(int i)
Returns the ith argument (counting from 0) of this Compound.
|
Term[] | args()
Returns the arguments of this Compound (1..arity) of this Compound as an array[0..arity-1] of Term.
|
int | arity()
Returns the arity (1+) of this Compound.
|
String | debugString()
Returns a debug-friendly representation of a Compound.
|
boolean | equals(Object obj)
Two Compounds are equal if they are identical (same object) or their names and arities are equal and their
respective arguments are equal.
|
boolean | hasFunctor(String name, int arity)
Tests whether this Compound's functor has (String) 'name' and 'arity'.
|
boolean | isJFalse()
whether this Term is a 'jboolean' structure denoting Java's false, i.e. |
boolean | isJNull()
whether this Term is a 'jnull' structure, i.e. |
boolean | isJObject()
whether this Term is a 'jobject' structure, i.e. |
boolean | isJRef()
whether this Term is a 'jref' structure, i.e. |
boolean | isJTrue()
whether this Term is a 'jboolean' structure denoting Java's true, i.e. |
boolean | isJVoid()
whether this Term is a 'jvoid' structure, i.e. |
String | name()
Returns the name (unquoted) of this Compound.
|
void | setArg(int i, Term arg)
Sets the i-th (from 1) arg of this Compound to the given Term instance.
|
String | toString()
Returns a prefix functional representation of a Compound of the form name(arg1,...),
where 'name' is quoted iff necessary (to be valid Prolog soutce text)
and each argument is represented according to its toString() method.
|
int | type()
returns the type of this term, as jpl.fli.Prolog.COMPOUND
|
String | typeName()
returns the name of the type of this term, as "Compound"
|
Parameters: name the name of this Compound args the (one or more) arguments of this Compound
Parameters: name the name of this Compound arity the arity of this Compound
Returns: the ith argument (counting from 1) of this Compound
Deprecated:
Returns the ith argument (counting from 0) of this Compound.Returns: the ith argument (counting from 0) of this Compound
Deprecated:
Returns the arguments of this Compound (1..arity) of this Compound as an array[0..arity-1] of Term.Returns: the arguments (1..arity) of this Compound as an array[0..arity-1] of Term
Returns: the arity (1+) of this Compound
Deprecated:
Returns a debug-friendly representation of a Compound.Returns: a debug-friendly representation of a Compound
Parameters: obj the Object to compare (not necessarily another Compound)
Returns: true if the Object satisfies the above condition
Returns: whether this Compound's functor has (String) 'name' and 'arity'
Returns: whether this Term is a 'jboolean' structure denoting Java's false, i.e. @(false)
Returns: whether this Term is a 'jnull' structure, i.e. @(null)
Returns: whether this Term is a 'jobject' structure, i.e. @(Tag)
Returns: whether this Term is a 'jref' structure, i.e. @(Tag) or @(null)
Returns: whether this Term is a 'jboolean' structure denoting Java's true, i.e. @(fatruelse)
Returns: whether this Term is a 'jvoid' structure, i.e. @(void)
Returns: the name (unquoted) of this Compound
Parameters: i the index (1+) of the arg to be set arg the Term which is to become the i-th (from 1) arg of this Compound
Returns: string representation of an Compound
Returns: the type of this term, as jpl.fli.Prolog.COMPOUND
Returns: the name of the type of this term, as "Compound"