ConForM.CoopnTools.CoKer.CoopnMgr
Class CoopnSyncBinOp

java.lang.Object
  |
  +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
        |
        +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnSync
              |
              +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnSyncBinOp
All Implemented Interfaces:
java.lang.Cloneable, CoopnSyntacticElement, java.io.Serializable
Direct Known Subclasses:
CoopnSyncAlt, CoopnSyncSeq, CoopnSyncSim

public abstract class CoopnSyncBinOp
extends CoopnSync

Coopn synchronisation with binary operator.

See Also:
CoopnElement, Serialized Form

Constructor Summary
protected CoopnSyncBinOp(CoopnSync left, CoopnSync right)
          Simple constructor.
 
Method Summary
 java.lang.Object clone()
          Cloning method.
protected abstract  ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoSyncBinOp createCocoSyncBinOp(ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoSync left, ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoSync right)
           
 boolean equals(java.lang.Object obj)
          Equality method.
 boolean generatesCreation()
          Test if this sync generates an object creation ?. return true iff this sync generates an object creation.
 boolean generatesDestruction()
          Test if this sync generates an object destruction?. return true iff this sync generates an object destruction.
 int hashCode()
          Hashcode method.
 CoopnElement interpret(CoopnSubstitution sigma)
          Interpretation of this element according to a substitution.
 boolean isStaticSync()
          Test if this sync is static ?. return true iff this sync is static.
 CoopnSync left()
          Get the left sub-synchronisation associated to this sync.
 CoopnSync right()
          Get the right sub-synchronisation associated to this sync.
protected abstract  ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm symbol()
           
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoElement toCoco(CoopnSymbolTable table)
          CoCo conversion method.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toCompleteText(CoopnSymbolTable table)
          Complete textual elements conversion method.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm toCompleteTextTerm(CoopnSymbolTable table)
          Get the complete textual event representing the event.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toText()
          Textual elements conversion method.
 ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm toTextTerm()
          Get the textual event representing the event.
 java.lang.Object unmodifiableCopy()
          Copy the element into an unmodifiable structure.
 
Methods inherited from class ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
cloneCoopnElement, pureCOIL, pureCOOPN, toCompleteString, toCompleteString, toCompleteString, toCompleteString, toCompleteString, toCompleteString, toCompleteText, toCompleteTokens, toCompleteTokens, toCompleteTokens, toCompleteTokens, toCompleteTokens, toCompleteTokens, toString, toString, toString, toTokens, toTokens, toTokens
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CoopnSyncBinOp

protected CoopnSyncBinOp(CoopnSync left,
                         CoopnSync right)
                  throws java.lang.IllegalArgumentException
Simple constructor. Build a synchronisation based on a binary operator.
Method Detail

symbol

protected abstract ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm symbol()

interpret

public CoopnElement interpret(CoopnSubstitution sigma)
Description copied from class: CoopnElement
Interpretation of this element according to a substitution.
Overrides:
interpret in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Parameters:
sigma - the substitution; cannot be null
Returns:
a new CoopnElement object, coreesponding to the interpretation.

isStaticSync

public boolean isStaticSync()
Test if this sync is static ?. return true iff this sync is static. A static sync makes references only to constant objects.
Overrides:
isStaticSync in class CoopnSync

generatesCreation

public boolean generatesCreation()
Test if this sync generates an object creation ?. return true iff this sync generates an object creation.
Overrides:
generatesCreation in class CoopnSync

generatesDestruction

public boolean generatesDestruction()
Test if this sync generates an object destruction?. return true iff this sync generates an object destruction.
Overrides:
generatesDestruction in class CoopnSync

left

public CoopnSync left()
               throws java.lang.IllegalArgumentException
Get the left sub-synchronisation associated to this sync.
Returns:
the left sub-synchronisation associated to this sync.

right

public CoopnSync right()
                throws java.lang.IllegalArgumentException
Get the right sub-synchronisation associated to this sync.
Returns:
the right sub-synchronisation associated to this sync.

equals

public boolean equals(java.lang.Object obj)
Description copied from class: CoopnElement
Equality method. Must be defined in the inherited classes.
Overrides:
equals in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Parameters:
obj - the object to compare
Returns:
true iff this object and the parameter are equals.

hashCode

public int hashCode()
Description copied from class: CoopnElement
Hashcode method. Must be defined in the inherited classes.
Overrides:
hashCode in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Returns:
the hash code.

toTextTerm

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm toTextTerm()
Get the textual event representing the event. Actually, a event may be represented by a unique event.
Returns:
The textual event representing the event.
Throws:
java.lang.IllegalArgumentException - This event cannot be converted to a textual representation, for example because of an arity problem.

toText

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toText()
Description copied from class: CoopnElement
Textual elements conversion method. Must be defined in the inherited classes. This routine converts an element into a user-friendly textual element representing it. The string interpretation of this element is very intuitive by a user, but may be incorrect in the sense that it may be rejected by a checker.
Overrides:
toText in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Returns:
a CoopnTextElement image.

toCompleteTextTerm

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextTerm toCompleteTextTerm(CoopnSymbolTable table)
                                                                                throws java.lang.IllegalArgumentException
Get the complete textual event representing the event. Actually, a event may be represented by a unique event.
Returns:
The complete textual event representing the event.
Throws:
java.lang.IllegalArgumentException - This event cannot be converted to a textual representation, for example because of an arity problem.

toCompleteText

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTextMgr.CoopnTextElement toCompleteText(CoopnSymbolTable table)
Description copied from class: CoopnElement
Complete textual elements conversion method. Must be defined in the inherited classes. This routine converts an element into a correct textual element representing it. The string interpretation of this element will be accepted by a checker, but may be difficult to read by users, due to the additionnal information, like parenthesis and so on.
Overrides:
toCompleteText in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Parameters:
table - the symbol table used to generate symbol references
Returns:
a CoopnTextElement image.

createCocoSyncBinOp

protected abstract ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoSyncBinOp createCocoSyncBinOp(ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoSync left,
                                                                                                         ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoSync right)

toCoco

public ConForM.CoopnTools.CoKer.CoopnMgr.CoopnCocoMgr.CoopnCocoElement toCoco(CoopnSymbolTable table)
                                                                       throws java.lang.IllegalArgumentException
Description copied from class: CoopnElement
CoCo conversion method. Must be defined in the inherited classes. This routine convert an element into a string representing it in a CO-opn COnpact form.
Overrides:
toCoco in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Parameters:
origin - the module which generated the Coco conversion
table - the symbol table used to generate symbol references
Returns:
a String image of the element.
Throws:
java.lang.IllegalArgumentException - A used symbol is not in the symbol table.

unmodifiableCopy

public java.lang.Object unmodifiableCopy()
Description copied from class: CoopnElement
Copy the element into an unmodifiable structure.
Overrides:
unmodifiableCopy in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Returns:
an unmodififable clone of the element.

clone

public java.lang.Object clone()
Description copied from class: CoopnElement
Cloning method. Must be defined in the inherited classes.
Overrides:
clone in class CoopnElement
Following copied from class: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnElement
Returns:
a clone object.