All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

KnowledgeInterfaces Interface CATICkeRelationExp

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---KnowledgeInterfaces.CATICkeNaming
        |
        +---KnowledgeInterfaces.CATICkeRelation
          |
          +---CATICkeRelationExp
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATICkeRelationExp

Interface dedicated to relations with textual body management (formulas/Checks/Rules).
Role: An expressional relation is a relation whose links between parameters is defined by a language contained in a text.
- Formulas valuate one literal from several ones.
- Rules valuate several literals from several ones.
- Checks use several literals in input and produces a diagnosis.
This interface is implemented on those 3 objects

See also:
CATICkeRelation


Method Index


o Body(CATCke::Boolean&,CATIParmPublisher_var&)
Get the relations body.
o CatchEvaluationError(int)
Defines if the relation will catch evaluation error.
o CheckMagnitude()
Checks magnitude coherence.
o Expression()
Returns the underlying expression.
o IntegrateToUpdate(int)
Integrates this relation to update.
o IsEvaluationErrorCatched()
Indicates if an evaluation error has been caught.
o IsIntegratedToUpdate()
Tests if the relation is integrated with part update.
o Modify(CATCkeListOfParm,CATUnicodeString&,CATIParmPublisher_var&,CATCke::Boolean&)
Modifies the body and the list of parameters.

Methods


o Body
public virtual CATUnicodeString Body( const CATCke::Boolean& iReCompute= 0,
const CATIParmPublisher_var& iRoot= NULL_var) const = 0
Get the relations body.
Parameters:
iReCompute
true if body is to be recomputed
iRoot
used to name parameters with RelativeName (root) method
Returns:
body
o CatchEvaluationError
public virtual void CatchEvaluationError(int yes) = 0
Defines if the relation will catch evaluation error.
Parameters:
yes
equal true if you want to catch evaluation error
o CheckMagnitude
public virtual CATCke::Boolean CheckMagnitude()const = 0
Checks magnitude coherence.
This method may raise syntax errors (CATCkeErrorMKS). No ability to catch them in CAA.
Returns:

Legal values: the test can be either CATCke::True if magnitude coherence is Ok CATCke::False if it isn't.
o Expression
public virtual CATICkeExpression_var Expression()const = 0
Returns the underlying expression.
o IntegrateToUpdate
public virtual HRESULT IntegrateToUpdate(int yes) = 0
Integrates this relation to update.
Role:: for relations using features, relations are not synchroneous and so are not immediately updated when an inputs changes. This method allows to have this sort of relation updated along the part.
Restriction : This method works only for relations embedded in a part, and using features
Parameters:
yes
if equal to 0 : removes integration to part update, if not : integrates to part update
Returns:
S_OK if the method succeeds, E_FAIL else
o IsEvaluationErrorCatched
public virtual int IsEvaluationErrorCatched()= 0
Indicates if an evaluation error has been caught.
Returns:
1 if true , else 0
o IsIntegratedToUpdate
public virtual int IsIntegratedToUpdate()= 0
Tests if the relation is integrated with part update.
Returns:
1 if true , else 0
o Modify
public virtual CATCke::Boolean Modify( const CATCkeListOfParm iListParameters,
const CATUnicodeString& iBody,
const CATIParmPublisher_var& iRoot= NULL_var,
const CATCke::Boolean& iRealnames= 1) = 0
Modifies the body and the list of parameters.
This method may raise syntax error (CATCkeParseException). No ability to catch them in CAA.
This method may raise evaluation error (CATLifEvaluationError). No ability to catch them in CAA.
Parameters:
iListParameters
list of parameters that can be used in the body
iBody
string describing the body
iRoot
used to name parameters with RelativeName (root) method
and so to be able to recognize parameters by their name
Not used in realnames = false mode
iRealnames
= 2 possibilities to name a parameter in the body.
Legal values: CATCke::True names used are the one returned by RelativeName (root) and we try to recognize names used in the body with parameters of iListParameters.. CATCke::False names used are a1,a2,a3,etc...
a1 meaning the first parameter of iListParameters, a2, the second one, etc....
We advise you strongly to use this second method in your application to avoid NLS problems .

Returns:
true if parse OK, false instead.
if a syntax error occurs, a CATCkeParseException exception is raised in realname=true else a CATLifError is "raised" that you can catch with CATLifErrorManager services

This object is included in the file: CATICkeRelationExp.h
If needed, your Imakefile.mk should include the module: KnowledgeItf

Copyright © 2003, Dassault Systèmes. All rights reserved.