com.svincent.moksa
Class PrologFactory

java.lang.Object
  |
  +--com.svincent.moksa.PrologFactory

public class PrologFactory
extends java.lang.Object

Responsible for creating instances of various Prolog entities.

Having a factory allows the rest of the system to be somewhat abstracted away from concrete types. Plus, object pooling is possible, as all object creation is centralized.


Constructor Summary
PrologFactory(PrologEngine _engine)
          Make a new PrologFactory for the given PrologEngine.
 
Method Summary
 Continuation callThrow(PrologTerm exception)
           
 Continuation callThrowDomainError(java.lang.String desiredDomain, PrologTerm offendingTerm)
           
 Continuation callThrowExistenceError(java.lang.String desiredExistor, PrologTerm offendingTerm)
           
 Continuation callThrowInstantiationError()
           
 Continuation callThrowPermissionError(java.lang.String desiredPermission, PrologTerm offendingTerm)
           
 Continuation callThrowPermissionError(java.lang.String desiredPermission, java.lang.String auxilliaryAtom, PrologTerm offendingTerm)
           
 Continuation callThrowTypeError(java.lang.String desiredType, PrologTerm offendingTerm)
           
 CompoundTerm makeAtom(java.lang.String _name)
          Convenience constructor for making Atoms.
 CompoundTerm makeCompoundTerm(java.lang.String _name)
          Convenience constructor for 0 subterms
 CompoundTerm makeCompoundTerm(java.lang.String _name, PrologTerm sub1)
          Convenience constructor for 1 subterm
 CompoundTerm makeCompoundTerm(java.lang.String name, PrologTerm[] subterms)
           
 CompoundTerm makeCompoundTerm(java.lang.String name, PrologTerm[] subterms, int priority)
           
 CompoundTerm makeCompoundTerm(java.lang.String _name, PrologTerm sub1, PrologTerm sub2)
          Convenience constructor for 2 subterms
 CompoundTerm makeCompoundTerm(java.lang.String _name, PrologTerm sub1, PrologTerm sub2, PrologTerm sub3)
          Convenience constructor for 3 subterms
 CompoundTerm makeCompoundTerm(java.lang.String _name, PrologTerm sub1, PrologTerm sub2, PrologTerm sub3, PrologTerm sub4)
          Convenience constructor for 4 subterms
 CompoundTerm makeCompoundTerm(java.lang.String _name, PrologTerm sub1, PrologTerm sub2, PrologTerm sub3, PrologTerm sub4, PrologTerm sub5)
          Convenience constructor for 5 subterms
 Continuation makeContinuation(Rule rule, PrologTerm[] registers, Continuation next)
          Make a new Continuation.
 CompoundTerm makeEmptyCurlies()
          Convenience constructor for making Curlies.
 CompoundTerm makeEmptyList()
          Convenience constructor for making Lists.
 WamFloat makeFloat(double value)
           
 WamInteger makeInteger(int value)
           
 CompoundTerm makeList(PrologTerm[] elements)
          Convenience constructor for making Lists.
 Variable makeTemporaryVariable()
           
 Variable makeTemporaryVariable(java.lang.String name)
           
 Variable makeVariable(java.lang.String name)
           
 void returnToPool(Continuation continuation)
           
 JavaTerm wrapObject(java.lang.Object o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrologFactory

public PrologFactory(PrologEngine _engine)
Make a new PrologFactory for the given PrologEngine.
Method Detail

wrapObject

public JavaTerm wrapObject(java.lang.Object o)

makeTemporaryVariable

public Variable makeTemporaryVariable()

makeTemporaryVariable

public Variable makeTemporaryVariable(java.lang.String name)

makeVariable

public Variable makeVariable(java.lang.String name)

makeInteger

public WamInteger makeInteger(int value)

makeFloat

public WamFloat makeFloat(double value)

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String name,
                                     PrologTerm[] subterms,
                                     int priority)

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String name,
                                     PrologTerm[] subterms)

makeAtom

public CompoundTerm makeAtom(java.lang.String _name)
Convenience constructor for making Atoms.

makeList

public CompoundTerm makeList(PrologTerm[] elements)
Convenience constructor for making Lists.

makeEmptyList

public CompoundTerm makeEmptyList()
Convenience constructor for making Lists.

makeEmptyCurlies

public CompoundTerm makeEmptyCurlies()
Convenience constructor for making Curlies.

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String _name)
Convenience constructor for 0 subterms

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String _name,
                                     PrologTerm sub1)
Convenience constructor for 1 subterm

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String _name,
                                     PrologTerm sub1,
                                     PrologTerm sub2)
Convenience constructor for 2 subterms

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String _name,
                                     PrologTerm sub1,
                                     PrologTerm sub2,
                                     PrologTerm sub3)
Convenience constructor for 3 subterms

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String _name,
                                     PrologTerm sub1,
                                     PrologTerm sub2,
                                     PrologTerm sub3,
                                     PrologTerm sub4)
Convenience constructor for 4 subterms

makeCompoundTerm

public CompoundTerm makeCompoundTerm(java.lang.String _name,
                                     PrologTerm sub1,
                                     PrologTerm sub2,
                                     PrologTerm sub3,
                                     PrologTerm sub4,
                                     PrologTerm sub5)
Convenience constructor for 5 subterms

makeContinuation

public Continuation makeContinuation(Rule rule,
                                     PrologTerm[] registers,
                                     Continuation next)
Make a new Continuation.

returnToPool

public void returnToPool(Continuation continuation)

callThrowInstantiationError

public Continuation callThrowInstantiationError()

callThrowTypeError

public Continuation callThrowTypeError(java.lang.String desiredType,
                                       PrologTerm offendingTerm)

callThrowDomainError

public Continuation callThrowDomainError(java.lang.String desiredDomain,
                                         PrologTerm offendingTerm)

callThrowPermissionError

public Continuation callThrowPermissionError(java.lang.String desiredPermission,
                                             PrologTerm offendingTerm)

callThrowPermissionError

public Continuation callThrowPermissionError(java.lang.String desiredPermission,
                                             java.lang.String auxilliaryAtom,
                                             PrologTerm offendingTerm)

callThrowExistenceError

public Continuation callThrowExistenceError(java.lang.String desiredExistor,
                                            PrologTerm offendingTerm)

callThrow

public Continuation callThrow(PrologTerm exception)



This is documentation for Moksa Prolog, which can be found at http://www.svincent.com/moksa/

Copyright © 1999 Shawn P. Vincent.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.