|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.udo.cs.ie.cowbots.logic.ELPAtom
public class ELPAtom
this class models an atom, a common element for building literals and rules in extended logic programs. it allows textual representation of an atom compatible with dlv or lparse.
Field Summary | |
---|---|
(package private) java.lang.String |
pred
|
(package private) java.lang.String[] |
terms
|
Constructor Summary | |
---|---|
ELPAtom(ELPAtom other)
default copy constructor |
|
ELPAtom(java.lang.String[] symbols,
int nterm)
create a new atom from a given list of string symbols. |
|
ELPAtom(java.lang.String predicate,
int arity)
instantiates a new atom with a predicate of given arity, but does not set any terms. |
|
ELPAtom(java.lang.String predicate,
java.lang.String... terms)
creates a new atom |
Method Summary | |
---|---|
static ELPAtom |
Aggregate(java.lang.String pred,
java.lang.String lguard,
java.lang.String lgop,
java.lang.String rguard,
java.lang.String rgop,
SymbolicSet symset)
factory method to create a guarded builtin aggregate fact like "1 < #count{X:a(A)} < 3" |
static ELPAtom |
Aggregate(java.lang.String pred,
SymbolicSet symset,
java.lang.String rightoperator,
java.lang.String rightguard)
factory method to create a builtin aggregate fact like "#max{X:a(A)} = Y" |
static ELPAtom |
Equal(java.lang.String lefthand,
java.lang.String righthand)
factory method to create an equality relation |
boolean |
equals(java.lang.Object o)
|
int |
getArity()
returns the arity of the predicate |
ELPAtom |
getAtom()
returns the atom of this literal |
ELPLiteral |
getLiteral()
returns a possibly nested literal, or the object itself if this literal is not (strict or default) negated. |
java.lang.String |
getPredicate()
returns the predicate symbol of this atom |
java.lang.String |
getTerm(int i)
returns a term at a given index |
int |
getTermAsInt(int i)
returns a term as an integer value |
java.lang.String[] |
getTerms()
|
java.lang.String |
getType()
returns the predicate symbol and the arity. |
static ELPAtom |
Gtr(java.lang.String lefthand,
java.lang.String righthand)
factory method to create a greater relation literal |
static ELPAtom |
GtrEq(java.lang.String lefthand,
java.lang.String righthand)
factory method to create a greater equal relation |
int |
hashCode()
|
ELPAtom |
instantiate(java.lang.String... terms)
create an atom based on this objects predicate symbol and number of terms. |
static ELPAtom |
Int(java.lang.String value)
factory method to create #int predicates |
boolean |
isArithmetic()
deprecated, use isPredicate instead ! |
boolean |
isAtom()
|
boolean |
isDefaultNegated()
|
boolean |
isPredicate()
this method indicates if the literal appearing in a program is a build-in or external dlv predicate |
boolean |
isStrictNegated()
|
static ELPAtom |
Less(java.lang.String lefthand,
java.lang.String righthand)
factory method to create a greater relation literal |
static ELPAtom |
LessEq(java.lang.String lefthand,
java.lang.String righthand)
factory method to create a less equal relation |
static ELPAtom |
Mul(java.lang.String op1,
java.lang.String op2,
java.lang.String result)
factory method to create an arithmetic mul literal |
static ELPAtom |
Plus(java.lang.String op1,
java.lang.String op2,
java.lang.String result)
factory method to create an arithmetic plus literal |
void |
setTerm(int i,
java.lang.String s)
assigns the i-th term to given argument. this method does not check i against violating predicate arity. |
void |
setTerms(ELPAtom other)
|
java.lang.String |
toString()
translates the atom into a human readable string. |
static ELPAtom |
UnEq(java.lang.String lefthand,
java.lang.String righthand)
factory method to create an unequality relation |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
java.lang.String pred
java.lang.String[] terms
Constructor Detail |
---|
public ELPAtom(ELPAtom other)
public ELPAtom(java.lang.String predicate, int arity)
predicate
- predicate symbolarity
- arity of the predicatepublic ELPAtom(java.lang.String predicate, java.lang.String... terms)
predicate
- predicate symbolterms
- optional term symbolpublic ELPAtom(java.lang.String[] symbols, int nterm)
symbols
- source stringsnterm
- number of strings to read from symbolsMethod Detail |
---|
public java.lang.String getPredicate()
public int getArity()
public java.lang.String getTerm(int i)
i
- term number i
public int getTermAsInt(int i)
i
- term index i
public ELPAtom instantiate(java.lang.String... terms)
terms
- predicate arguments
public void setTerms(ELPAtom other)
public java.lang.String[] getTerms()
public java.lang.String getType()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean isAtom()
isAtom
in interface ELPLiteral
public boolean isDefaultNegated()
isDefaultNegated
in interface ELPLiteral
public boolean isStrictNegated()
isStrictNegated
in interface ELPLiteral
public ELPLiteral getLiteral()
ELPLiteral
getLiteral
in interface ELPLiteral
public ELPAtom getAtom()
ELPLiteral
getAtom
in interface ELPLiteral
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean isArithmetic()
ELPLiteral
isArithmetic
in interface ELPLiteral
public void setTerm(int i, java.lang.String s)
i
- index of term to sets
- term stringpublic static ELPAtom Plus(java.lang.String op1, java.lang.String op2, java.lang.String result)
op1
- first operandop2
- second operandresult
- destination variable
public static ELPAtom Mul(java.lang.String op1, java.lang.String op2, java.lang.String result)
op1
- first operandop2
- second operandresult
- destination variable
public static ELPAtom Gtr(java.lang.String lefthand, java.lang.String righthand)
lefthand
- first operandrighthand
- second operand
public static ELPAtom Less(java.lang.String lefthand, java.lang.String righthand)
lefthand
- first operandrighthand
- second operand
public static ELPAtom GtrEq(java.lang.String lefthand, java.lang.String righthand)
lefthand
- first operandrighthand
- second operand
public static ELPAtom LessEq(java.lang.String lefthand, java.lang.String righthand)
lefthand
- first operandrighthand
- second operand
public static ELPAtom Equal(java.lang.String lefthand, java.lang.String righthand)
lefthand
- first operandrighthand
- second operand
public static ELPAtom UnEq(java.lang.String lefthand, java.lang.String righthand)
lefthand
- first operandrighthand
- second operand
public static ELPAtom Aggregate(java.lang.String pred, SymbolicSet symset, java.lang.String rightoperator, java.lang.String rightguard)
public static ELPAtom Aggregate(java.lang.String pred, java.lang.String lguard, java.lang.String lgop, java.lang.String rguard, java.lang.String rgop, SymbolicSet symset)
public static ELPAtom Int(java.lang.String value)
public boolean isPredicate()
ELPLiteral
isPredicate
in interface ELPLiteral
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |