Algernon Software

org.algernon.aam.opcode
Class Count

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

public class Count
extends Opcode

This class implements the COUNT Opcode in the AAM. Count binds a variable to the number of results returned from a query.

   Example: (:COUNT ?size ?sister (sister Mary ?sister))
   Example: (:COUNT ?size ?date (:DATE ?date))  ;; will bind ?size to 1
 
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
Count(Algernon algy, String name, int numArgs)
          Create a new AAM Count Opcode.
 
Method Summary
 void execute(Processor processor, AlgernonKBSet kbSet)
          Executes the Count 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

Count

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

Method Detail

execute

public void execute(Processor processor,
                    AlgernonKBSet kbSet)
             throws AlgernonDataException
Executes the Count opcode. Binds a variable to the number of bindings of another variable present in the topmost binding set. Always succeeds - but the result may be zero if the user specified an incorrect variable.

Overrides:
execute in class Opcode
Throws:
AlgernonDataException

Algernon Software