Package org.prolog4j.tuprolog.impl
Class TuPrologConversionPolicy
- java.lang.Object
-
- org.prolog4j.ConversionPolicy
-
- org.prolog4j.tuprolog.impl.TuPrologConversionPolicy
-
public class TuPrologConversionPolicy extends ConversionPolicy
tuProlog implementation of the conversion policy.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.prolog4j.ConversionPolicy
ConversionPolicy.TermPattern
-
-
Constructor Summary
Constructors Constructor Description TuPrologConversionPolicy()
Constructs a conversion policy for tuProlog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
doubleValue(Object term)
Converts a floating point term to a double value.Object
getArg(Object compound, int index)
Returns an argument of a compound term.int
getArity(Object compound)
Returns the arity of a compound term or atom.protected String
getName(Object compound)
Returns the functor of a compound term or the name of an atom.int
intValue(Object term)
Converts an integer term to an int value.boolean
isAtom(Object term)
Determines whether the Prolog term is an atom.boolean
isCompound(Object term)
Determines whether the Prolog term is compound.boolean
isDouble(Object term)
Determines whether the Prolog term is a double value.boolean
isInteger(Object term)
Determines whether the Prolog term is an integer value.boolean
match(Object term1, Object term2)
Decides whether two terms match or not.Object
term(double value)
Creates a real term according to the actual implementation.Object
term(int value)
Creates a integer term according to the actual implementation.Object
term(String name)
Creates an atom according to the actual implementation.Object
term(String name, Object... args)
Creates a compound term according to the actual implementation.-
Methods inherited from class org.prolog4j.ConversionPolicy
addListConverter, addObjectConverter, addTermConverter, addTermConverter, convertObject, convertTerm, convertTerm, tp
-
-
-
-
Method Detail
-
match
public boolean match(Object term1, Object term2)
Description copied from class:ConversionPolicy
Decides whether two terms match or not. The comparison is similar toObject.equals(Object)
apart of thatnull
matches any object.- Specified by:
match
in classConversionPolicy
- Parameters:
term1
- the first termterm2
- the second object- Returns:
true
if the terms match, otherwisefalse
-
term
public Object term(int value)
Description copied from class:ConversionPolicy
Creates a integer term according to the actual implementation.- Specified by:
term
in classConversionPolicy
- Parameters:
value
- the integer value- Returns:
- the created Prolog integer term
-
term
public Object term(double value)
Description copied from class:ConversionPolicy
Creates a real term according to the actual implementation.- Specified by:
term
in classConversionPolicy
- Parameters:
value
- the double value- Returns:
- the created Prolog real term
-
term
public Object term(String name)
Description copied from class:ConversionPolicy
Creates an atom according to the actual implementation.- Specified by:
term
in classConversionPolicy
- Parameters:
name
- the name of the atom- Returns:
- the created atom
-
term
public Object term(String name, Object... args)
Description copied from class:ConversionPolicy
Creates a compound term according to the actual implementation.- Specified by:
term
in classConversionPolicy
- Parameters:
name
- the patternargs
- the arguments of the pattern- Returns:
- the created term
-
intValue
public int intValue(Object term)
Description copied from class:ConversionPolicy
Converts an integer term to an int value.- Specified by:
intValue
in classConversionPolicy
- Parameters:
term
- a term representing an integer value- Returns:
- the int value of the term
-
doubleValue
public double doubleValue(Object term)
Description copied from class:ConversionPolicy
Converts a floating point term to a double value.- Specified by:
doubleValue
in classConversionPolicy
- Parameters:
term
- a term representing a floating point value- Returns:
- the double value of the term
-
getName
protected String getName(Object compound)
Description copied from class:ConversionPolicy
Returns the functor of a compound term or the name of an atom.- Specified by:
getName
in classConversionPolicy
- Parameters:
compound
- the compound term or atom- Returns:
- the functor of the term
-
getArity
public int getArity(Object compound)
Description copied from class:ConversionPolicy
Returns the arity of a compound term or atom. For atoms it returns zero.- Specified by:
getArity
in classConversionPolicy
- Parameters:
compound
- the compound term or atom- Returns:
- the arity of the term
-
getArg
public Object getArg(Object compound, int index)
Description copied from class:ConversionPolicy
Returns an argument of a compound term. The numbering starts from zero.- Specified by:
getArg
in classConversionPolicy
- Parameters:
compound
- the compoundindex
- the index of the argument (>= 0)- Returns:
- the argth argument of the compound
-
isAtom
public boolean isAtom(Object term)
Description copied from class:ConversionPolicy
Determines whether the Prolog term is an atom.- Specified by:
isAtom
in classConversionPolicy
- Parameters:
term
- the term- Returns:
true
if the value is integer, otherwisefalse
-
isCompound
public boolean isCompound(Object term)
Description copied from class:ConversionPolicy
Determines whether the Prolog term is compound. Atoms are regarded as compound values with 0 arity.- Specified by:
isCompound
in classConversionPolicy
- Parameters:
term
- the term- Returns:
true
if the value is compound, otherwisefalse
-
isDouble
public boolean isDouble(Object term)
Description copied from class:ConversionPolicy
Determines whether the Prolog term is a double value.- Specified by:
isDouble
in classConversionPolicy
- Parameters:
term
- the term- Returns:
true
if the value is double, otherwisefalse
-
isInteger
public boolean isInteger(Object term)
Description copied from class:ConversionPolicy
Determines whether the Prolog term is an integer value.- Specified by:
isInteger
in classConversionPolicy
- Parameters:
term
- the term- Returns:
true
if the value is integer, otherwisefalse
-
-