Class SWIPrologConversionPolicy


  • public class SWIPrologConversionPolicy
    extends ConversionPolicy
    SWI-Prolog implementation of the conversion policy.
    • Constructor Detail

      • SWIPrologConversionPolicy

        public SWIPrologConversionPolicy()
        Constructs a conversion policy for SWI-Prolog.
    • 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 to Object.equals(Object) apart of that null matches any object.
        Specified by:
        match in class ConversionPolicy
        Parameters:
        term1 - the first term
        term2 - the second object
        Returns:
        true if the terms match, otherwise false
      • term

        public Object term​(int value)
        Description copied from class: ConversionPolicy
        Creates a integer term according to the actual implementation.
        Specified by:
        term in class ConversionPolicy
        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 class ConversionPolicy
        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 class ConversionPolicy
        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 class ConversionPolicy
        Parameters:
        name - the pattern
        args - 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 class ConversionPolicy
        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 class ConversionPolicy
        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 class ConversionPolicy
        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 class ConversionPolicy
        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 class ConversionPolicy
        Parameters:
        compound - the compound
        index - 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 class ConversionPolicy
        Parameters:
        term - the term
        Returns:
        true if the value is integer, otherwise false
      • 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 class ConversionPolicy
        Parameters:
        term - the term
        Returns:
        true if the value is compound, otherwise false
      • isDouble

        public boolean isDouble​(Object term)
        Description copied from class: ConversionPolicy
        Determines whether the Prolog term is a double value.
        Specified by:
        isDouble in class ConversionPolicy
        Parameters:
        term - the term
        Returns:
        true if the value is double, otherwise false
      • isInteger

        public boolean isInteger​(Object term)
        Description copied from class: ConversionPolicy
        Determines whether the Prolog term is an integer value.
        Specified by:
        isInteger in class ConversionPolicy
        Parameters:
        term - the term
        Returns:
        true if the value is integer, otherwise false