edu.udo.cs.ie.cowbots.logic
Class AggregatePredicate

Package class diagram package AggregatePredicate
java.lang.Object
  extended by edu.udo.cs.ie.cowbots.logic.ELPAtom
      extended by edu.udo.cs.ie.cowbots.logic.AggregatePredicate
All Implemented Interfaces:
ELPLiteral

 class AggregatePredicate
extends ELPAtom

private class to model aggregate predicates like "#times", "#max", etc


Field Summary
(package private)  java.lang.String lguard
           
(package private)  java.lang.String lop
           
(package private)  java.lang.String rguard
           
(package private)  java.lang.String rop
           
(package private)  SymbolicSet symset
           
 
Fields inherited from class edu.udo.cs.ie.cowbots.logic.ELPAtom
pred, terms
 
Constructor Summary
AggregatePredicate(java.lang.String pred, java.lang.String lguard, java.lang.String lgop, java.lang.String rguard, java.lang.String rgop, SymbolicSet symset)
          constructor to model any kind of guarded aggregate expression
AggregatePredicate(java.lang.String pred, SymbolicSet symset, java.lang.String rop, java.lang.String rsym)
          constructor to model aggregate expression like #time{vars:lits} = assignment
 
Method Summary
 boolean isArithmetic()
          deprecated, use isPredicate instead !
 boolean isPredicate()
          this method indicates if the literal appearing in a program is a build-in or external dlv predicate
 java.lang.String toString()
          translates the atom into a human readable string.
 
Methods inherited from class edu.udo.cs.ie.cowbots.logic.ELPAtom
Aggregate, Aggregate, Equal, equals, getArity, getAtom, getLiteral, getPredicate, getTerm, getTermAsInt, getTerms, getType, Gtr, GtrEq, hashCode, instantiate, Int, isAtom, isDefaultNegated, isStrictNegated, Less, LessEq, Mul, Plus, setTerm, setTerms, UnEq
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

symset

SymbolicSet symset

lguard

java.lang.String lguard

lop

java.lang.String lop

rguard

java.lang.String rguard

rop

java.lang.String rop
Constructor Detail

AggregatePredicate

public AggregatePredicate(java.lang.String pred,
                          SymbolicSet symset,
                          java.lang.String rop,
                          java.lang.String rsym)
constructor to model aggregate expression like #time{vars:lits} = assignment

Parameters:
pred - aggregate functor name
vars - local variables
lits - literals to aggregate over
assignment - righthand-side assignment

AggregatePredicate

public AggregatePredicate(java.lang.String pred,
                          java.lang.String lguard,
                          java.lang.String lgop,
                          java.lang.String rguard,
                          java.lang.String rgop,
                          SymbolicSet symset)
constructor to model any kind of guarded aggregate expression

Parameters:
pred - aggregate functor name
lguard - left guard
lgop - left guard relation symbol
rguard - right guard
rgop - right guard relation symbol
vars - variables of aggregate's symbolic set
lits - literals of aggregate's symbolic set
Method Detail

toString

public java.lang.String toString()
Description copied from class: ELPAtom
translates the atom into a human readable string. the output conforms datalog syntax (dlv or lparse compatible).

Overrides:
toString in class ELPAtom

isArithmetic

public boolean isArithmetic()
Description copied from interface: ELPLiteral
deprecated, use isPredicate instead !

Specified by:
isArithmetic in interface ELPLiteral
Overrides:
isArithmetic in class ELPAtom
Returns:
true if this objects models an arithmetic expression

isPredicate

public boolean isPredicate()
Description copied from interface: ELPLiteral
this method indicates if the literal appearing in a program is a build-in or external dlv predicate

Specified by:
isPredicate in interface ELPLiteral
Overrides:
isPredicate in class ELPAtom
Returns:
true if this object models a dlv predicate