aminePlatform.engines.prologPlusCG.util
Class Goal

java.lang.Object
  extended byaminePlatform.engines.prologPlusCG.util.Goal
All Implemented Interfaces:
AmineConstants

public class Goal
extends java.lang.Object
implements AmineConstants

Title: Goal

Description: A Goal in Prolog+CG can be a String, an identifier or a Variable (which is an Identifier), a Term, or a CG. A composed goal is represented as a Term.

Copyright: Copyright (c) Adil KABBAJ, 2004-2009


Field Summary
 
Fields inherited from interface aminePlatform.util.AmineConstants
ANALOGY, B_ASSIGN, B_DSPLY_WT_DELAY, B_DSPLY_WTT_DELAY, B_TRIGGER, B_WTT_DSPLY, BLOCK_BACKWARD_PROPAGATION, BLOCK_FORWARD_PROPAGATION, CANON, CGIF, CGRAPHIC, CHECK_PRECONDITIONS, COMPARE, COMPOSED_GOAL, CONCEPT_TYPE_IDENT, CONTEXT, COVERED_BY, CPLTE_CONTRACT, DEFINITION, EQ_OR_MORE_SPCFQ, EQUAL, EXPAND, FALSE_FOCUS_LIST, FUNCTIONAL, GENERALISE, GENERALIZE, HAVE_AN_INTERSECTION, ID_ADD, ID_DIV, ID_EQ, ID_INF, ID_IS, ID_MESSAGE, ID_MUL, ID_NOT, ID_NULL, ID_OPER_AND, ID_OPER_OR, ID_SUB, ID_SUP, IN_ACTIVATION, IN_MODE, IN_MODE2, INDIVIDUAL, INDIVIDUAL_IDENT, INTEGRATED, IS_CANONIC, KEY_GLOBAL_RULE, LC_ADD, LC_AMINE_BOOLEAN, LC_AMINE_DOUBLE, LC_AMINE_INTEGER, LC_AND, LC_BOOLEAN, LC_CG, LC_CLOSE_BRKT, LC_CLOSE_PARENT, LC_CLOSE_SET, LC_COMMA, LC_COMMA_SEMI, LC_CONCEPT, LC_CONSTRUCTOR, LC_CS, LC_CUT, LC_DIFF, LC_DIV, LC_DOUBLE, LC_DSBL_BKWRD_PRPGTN, LC_DSBL_FRWRD_PRPGTN, LC_EOF, LC_EQ, LC_FOUR_POINTS, LC_IDENTIFIER, LC_IF, LC_INF, LC_INTEGER, LC_INTEROG, LC_IS, LC_JAVA_OBJECT, LC_LEFT_ARROW, LC_LIST, LC_NULL, LC_OPEN_BRKT, LC_OPEN_PARENT, LC_OPEN_SET, LC_OPER_AND, LC_OPER_OR, LC_POINT, LC_RELATION, LC_RGHT_ARROW, LC_SEMI_COMMA, LC_SET, LC_STAR, LC_STATE, LC_STRING, LC_SUB, LC_SUP, LC_TERM, LC_TWO_POINTS, LC_VAR_LIST_CONSTRUCTOR, LC_VARIABLE, LF, MAXIMAL_JOIN, MORE_GENERAL, MORE_SPECIFIC, NOTHING_TO_INTEGRATE, OPERS_WITH_RSLT, OUT_MODE, OUT_MODE2, PARTIAL_CONTRACT, PARTIAL_SUBSUME, PRJCT_OPERS, PROJECT, READ, READ_SENTENCE, RELATION_TYPE_IDENT, S_AND, S_BOOLEAN, S_CG, S_CLOSE_BRKT, S_CLOSE_PARENT, S_CLOSE_SET, S_COMMA, S_CONCEPT, S_CONSTRUCTOR, S_CUT, S_DIFF, S_DOUBLE, S_EOF, S_EQUAL, S_EXPAND, S_FALSE, S_FOUR_POINTS, S_GENERALISE, S_GENERALIZE, S_IDENTIFIER, S_IF, S_INTEGER, S_INTEROG, S_IS, S_IS_CANONIC, S_LEFT_ARROW, S_LIST, S_MAXIMAL_JOIN, S_OPEN_BRKT, S_OPEN_PARENT, S_OPEN_SET, S_POINT, S_RGHT_ARROW, S_SEMI_COMMA, S_SOURCE, S_SPECIALIZE, S_STATE, S_STRING, S_SUBSUME, S_SUBSUME_WITH_RESULT, S_SUPER, S_TARGET, S_TERM, S_THIS, S_TRUE, S_TWO_POINTS, S_UNIFY, S_VARIABLE, SITUATION, SPECIALIZE, STEADY, SUBSUME, SUBSUME_WITH_RSLT, TRIGGER, UNCOMPARABLE, UNIFY, VAR_SUPER, WAIT_ASSIGNMENT, WAIT_END_OF_ASSIGNMENT, WAIT_PRECONDITIONS, WAIT_VALUE
 
Constructor Summary
Goal()
           
 
Method Summary
static java.lang.String getNameGoal(java.lang.Object goal, Lexicon lexicon)
          Get the identifier of the current term.
static boolean isCG(java.lang.Object goal)
          Check if the current term corresponds to a goal that is represented by a CG (in the context of Prolog+CG).
static boolean isComposedGoal(java.lang.Object goal)
          Test if the specified term corresponds to a composed goal : term::term.
static boolean isGoal(java.lang.Object obj)
          A Goal in Prolog+CG can be a String, an identifier or a Variable (which is an Identifier), a Term, or a CG.
static boolean isIdentOrString(java.lang.Object goal)
          check if the term correspond to an identifier or a string without arguments
static boolean isTerm(java.lang.Object goal)
           
static boolean isVariable(java.lang.Object goal)
          Test if the specified term corresponds to a variable goal (in the context of Prolog+CG)
static java.lang.String signature(java.lang.Object goal, Lexicon lexicon)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Goal

public Goal()
Method Detail

isGoal

public static boolean isGoal(java.lang.Object obj)
A Goal in Prolog+CG can be a String, an identifier or a Variable (which is an Identifier), a Term, or a CG. A composed goal is represented as a Term.

Parameters:
obj -
Returns:

getNameGoal

public static java.lang.String getNameGoal(java.lang.Object goal,
                                           Lexicon lexicon)
Get the identifier of the current term. The identifier of a term could be an identifier already declared in the lexicons/ontology and in this case, it is represented by its CS. Hence, the usefulness of the two parameters : lexicons and language. If it doesn't correspond to an identifier of the lexicons in use, the identifier of the current term will be a string.


isComposedGoal

public static boolean isComposedGoal(java.lang.Object goal)
Test if the specified term corresponds to a composed goal : term::term. This can occurs in Prolog+CG


isTerm

public static boolean isTerm(java.lang.Object goal)

isVariable

public static boolean isVariable(java.lang.Object goal)
Test if the specified term corresponds to a variable goal (in the context of Prolog+CG)


isIdentOrString

public static boolean isIdentOrString(java.lang.Object goal)
check if the term correspond to an identifier or a string without arguments


isCG

public static boolean isCG(java.lang.Object goal)
Check if the current term corresponds to a goal that is represented by a CG (in the context of Prolog+CG).


signature

public static java.lang.String signature(java.lang.Object goal,
                                         Lexicon lexicon)
Returns:
the signature of the current term.