ConForM.CoopnTools.CoKer.CoopnMgr
Class CoopnSituation

java.lang.Object
  |
  +--ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnFrame
        |
        +--ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
              |
              +--ConForM.CoopnTools.CoKer.CoopnMgr.CoopnSituation
All Implemented Interfaces:
java.lang.Cloneable, CoopnModuleDependency, CoopnTypeRelation

public class CoopnSituation
extends ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
implements CoopnModuleDependency, CoopnTypeRelation

Coopn situation. A coopn situation is used to interpret co-opn source text. It gives a CoopnFrame. The situation is described as a position (interface/body) inside a module, or as a position outside every main modules (contained in env.names).


Fields inherited from class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
centralMgr, env, mgr, modules
 
Constructor Summary
  CoopnSituation(CoopnMgr mgr, CoopnEnv env)
          Creates a new situation external to every modules in the environment.
protected CoopnSituation(java.lang.String[] modules, CoopnMgr mgr, CoopnEnv env)
          Creates a new situation external to a list of modules.
  CoopnSituation(java.lang.String module, boolean external, CoopnMgr mgr, CoopnEnv env)
          Creates a new situation internal to one module.
 
Method Summary
 java.lang.Object clone()
           
 java.lang.String[] dependencies()
          Module dependency.
 boolean equ(CoopnTypeAgg left, CoopnTypeAgg right)
          Equivalence between two lists of types.
 boolean equ(CoopnType left, CoopnType right)
          Equivalence between two types.
 boolean equals(java.lang.Object obj)
           
 boolean less(CoopnTypeAgg sub, CoopnTypeAgg sup)
          Order between two lists of types.
 boolean less(CoopnType sub, CoopnType sup)
          Order between two types.
 boolean lessOrEqu(CoopnTypeAgg sub, CoopnTypeAgg sup)
          Order between two lists of types.
 boolean lessOrEqu(CoopnType sub, CoopnType sup)
          Order between two types.
 CoopnSortSymbol[] sorts()
           
 java.lang.String toString()
           
 CoopnTypeSymbol[] types()
           
 boolean unifiable(CoopnTypeAgg left, CoopnTypeAgg right)
          Compatibility for unification between two lists of types.
 boolean unifiable(CoopnType left, CoopnType right)
          Compatibility for unification between two types.
 
Methods inherited from class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
cloneCoopnSituationFrame, coreToString, hashCode, objects
 
Methods inherited from class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnFrame
cloneCoopnFrame
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CoopnSituation

public CoopnSituation(CoopnMgr mgr,
                      CoopnEnv env)
Creates a new situation external to every modules in the environment.
Parameters:
mgr - the coopn manager to use
env - the environment

CoopnSituation

protected CoopnSituation(java.lang.String[] modules,
                         CoopnMgr mgr,
                         CoopnEnv env)
Creates a new situation external to a list of modules.
Parameters:
modules - the list of modules
mgr - the coopn manager to use
env - the environment

CoopnSituation

public CoopnSituation(java.lang.String module,
                      boolean external,
                      CoopnMgr mgr,
                      CoopnEnv env)
Creates a new situation internal to one module.
Parameters:
module - the name of the module
external - true iff interpretation frame is inside the interface of the module (false iff inside body)
mgr - the coopn manager to use
env - the environment
Method Detail

dependencies

public java.lang.String[] dependencies()
Description copied from interface: CoopnModuleDependency
Module dependency.
Specified by:
dependencies in interface CoopnModuleDependency
Overrides:
dependencies in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnModuleDependency
Returns:
an array of strings containing names of modules.

sorts

public CoopnSortSymbol[] sorts()
Overrides:
sorts in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame

types

public CoopnTypeSymbol[] types()
Overrides:
types in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame

equ

public boolean equ(CoopnTypeAgg left,
                   CoopnTypeAgg right)
Description copied from interface: CoopnTypeRelation
Equivalence between two lists of types.
Specified by:
equ in interface CoopnTypeRelation
Overrides:
equ in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
left - the first list of types
right - the second list of types
Returns:
true iff both lists of types are equivalents with regard to the type relation represented by this object.

equ

public boolean equ(CoopnType left,
                   CoopnType right)
Description copied from interface: CoopnTypeRelation
Equivalence between two types.
Specified by:
equ in interface CoopnTypeRelation
Overrides:
equ in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
left - the first type
right - the second type
Returns:
true iff both types are equivalents with regard to the type relation represented by this object.

less

public boolean less(CoopnTypeAgg sub,
                    CoopnTypeAgg sup)
Description copied from interface: CoopnTypeRelation
Order between two lists of types.
Specified by:
less in interface CoopnTypeRelation
Overrides:
less in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
sub - the first list of types
sup - the second list of types
Returns:
true iff sub is less or equal to sup AND at least one element of sub is strictly less than the same element of sup.

less

public boolean less(CoopnType sub,
                    CoopnType sup)
Description copied from interface: CoopnTypeRelation
Order between two types.
Specified by:
less in interface CoopnTypeRelation
Overrides:
less in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
sub - the first type
sup - the second type
Returns:
true iff sub is a strict sub-sort or a sub-type of sup.

lessOrEqu

public boolean lessOrEqu(CoopnTypeAgg sub,
                         CoopnTypeAgg sup)
Description copied from interface: CoopnTypeRelation
Order between two lists of types.
Specified by:
lessOrEqu in interface CoopnTypeRelation
Overrides:
lessOrEqu in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
sub - the first list of types
sup - the second list of types
Returns:
true iff every element of sub is a sub-sort or a sub-type of the same (indexed) element sup.

lessOrEqu

public boolean lessOrEqu(CoopnType sub,
                         CoopnType sup)
Description copied from interface: CoopnTypeRelation
Order between two types.
Specified by:
lessOrEqu in interface CoopnTypeRelation
Overrides:
lessOrEqu in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
sub - the first type
sup - the second type
Returns:
true iff sub is a sub-sort or a sub-type of sup.

unifiable

public boolean unifiable(CoopnTypeAgg left,
                         CoopnTypeAgg right)
Description copied from interface: CoopnTypeRelation
Compatibility for unification between two lists of types.
Specified by:
unifiable in interface CoopnTypeRelation
Overrides:
unifiable in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
left - the first list of types
right - the second list of types
Returns:
true iff both types of every (indexed) element are compatibles with regard to the type relation represented by this object.

unifiable

public boolean unifiable(CoopnType left,
                         CoopnType right)
Description copied from interface: CoopnTypeRelation
Compatibility for unification between two types.
Specified by:
unifiable in interface CoopnTypeRelation
Overrides:
unifiable in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame
Following copied from interface: ConForM.CoopnTools.CoKer.CoopnMgr.CoopnTypeRelation
Parameters:
left - the first type
right - the second type
Returns:
true iff both types are compatibles with regard to the type relation represented by this object.

toString

public java.lang.String toString()
Overrides:
toString in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnSituationFrame

clone

public java.lang.Object clone()
Overrides:
clone in class ConForM.CoopnTools.CoKer.CoopnMgr.CentralCoopnMgr.CoopnFrame