Algernon Software

org.algernon.aam.opcode
Class Limit

java.lang.Object
  extended byorg.jatha.dynatype.StandardLispValue
      extended byorg.algernon.aam.Opcode
          extended byorg.algernon.aam.opcode.Limit
All Implemented Interfaces:
Comparable, LispValue

public class Limit
extends Opcode

This class implements the LIMIT Opcode in the AAM. Limit limits the number of bindings from a query.

   Example: (:LIMIT 10 (sister Mary ?sister))
 
Succeeds if the query succeeds. Fails if the query fails.


Field Summary
 
Fields inherited from class org.algernon.aam.Opcode
f_algy, m_name, m_numberOfArguments
 
Fields inherited from class org.jatha.dynatype.StandardLispValue
f_lisp
 
Constructor Summary
Limit(Algernon algy, String name, int numArgs)
          Create a new AAM Limit Opcode.
 
Method Summary
 void execute(Processor processor, AlgernonKBSet kbSet)
          Executes the Limit opcode.
 
Methods inherited from class org.algernon.aam.Opcode
argumentToClass, argumentToClass, argumentToFacet, argumentToFacet, argumentToFrame, argumentToFrame, argumentToInstance, argumentToInstance, argumentToInstance, argumentToRelation, argumentToRelation, getName, getNumberOfArguments, setName, setNumberOfArguments, toString
 
Methods inherited from class org.jatha.dynatype.StandardLispValue
abs, acos, add, adjustSpecialCount, append, apply, apropos_print, asin, assoc, atan, atan2, atom, basic_atom, basic_bignump, basic_consp, basic_constantp, basic_floatp, basic_foreignp, basic_functionp, basic_integerp, basic_keywordp, basic_length, basic_listp, basic_macrop, basic_null, basic_numberp, basic_stringp, basic_symbolp, bignump, boundp, butlast, car, cdr, ceiling, characterp, clrhash, compareTo, concatenate, consp, constantp, contains, copy_list, copy, cos, cot, csc, degreesToRadians, divide, eighth, elt, elt, eq, eql, equal, equalNumeric, factorial, fboundp, fifth, first, floatp, floor, fourth, funcall, functionp, get_specialCount, gethash, gethash, getLisp, greaterThan, greaterThanOrEqual, hash_table_count, hash_table_rehash_size, hash_table_rehash_threshold, hash_table_size, hash_table_test, hashtablep, integerp, internal_getName, internal_prin1_as_cdr, internal_prin1, internal_princ_as_cdr, internal_princ, internal_print_as_cdr, internal_print, iterator, keywordp, last, length, lessThan, lessThanOrEqual, lisp_null, list, listp, max, member, min, multiply, nconc, negate, neql, ninth, nreverse, nstringCapitalize, nstringDowncase, nstringUpcase, numberp, pop, position, prin1, princ, print, push, radiansToDegrees, rassoc, reciprocal, remhash, remove, rest, reverse, rplaca, rplacd, sec, second, set_special, setf_gethash, setf_symbol_function, setf_symbol_plist, setf_symbol_value, setLisp, setPackage, setq, seventh, sin, sixth, specialP, sqrt, string, stringCapitalize, stringDowncase, stringEndsWith, stringEq, stringEqual, stringGreaterP, stringGreaterThan, stringGreaterThanOrEqual, stringLeftTrim, stringLeftTrim, stringLessP, stringLessThan, stringLessThanOrEqual, stringNeq, stringNotGreaterP, stringNotLessP, stringp, stringRightTrim, stringRightTrim, stringStartsWith, stringTrim, stringTrim, stringUpcase, subst, substring, substring, subtract, symbol_function, symbol_name, symbol_package, symbol_plist, symbol_value, symbolp, tan, tenth, third, toCollection, toJava, toJava, toString, toStringAsCdr_internal, toStringAsCdr, toStringShort, toStringShort, toStringSimple, type_of, typep, zerop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Limit

public Limit(Algernon algy,
             String name,
             int numArgs)
Create a new AAM Limit Opcode.

Method Detail

execute

public void execute(Processor processor,
                    AlgernonKBSet kbSet)
             throws AlgernonDataException
Executes the Limit opcode. (:LIMIT 10 ) Checks the results of the previous query. If the number of results is greater than the given number, it removes bindings to reduce the number to the given number. Always succeeds unless the query fails.

Overrides:
execute in class Opcode
Throws:
AlgernonDataException

Algernon Software