jif.types.hierarchy
Interface LabelEnv

All Known Implementing Classes:
LabelEnv_c

public interface LabelEnv


Nested Class Summary
static interface LabelEnv.SearchState
          Encapsulates the solvers search state.
 
Method Summary
 void addActsFor(Principal p1, Principal p2)
           
 void addAssertionLE(Label L1, Label L2)
           
 void addEquiv(Label L1, Label L2)
           
 void addEquiv(Principal p1, Principal p2)
           
 LabelEnv copy()
           
 java.util.Map definitions(VarMap bounds, java.util.Set seenComponents)
          Returns a Map of Strings to List[String]s which is the descriptions of any components that appear in the environment.
 boolean hasVariables()
          Do any of the assertions in this label environment contain variables?
 boolean isEmpty()
          Is this enviornment empty, or does is contain some constraints?
 boolean leq(Label L1, Label L2)
           
 boolean leq(Label L1, Label L2, LabelEnv.SearchState state)
           
 PrincipalHierarchy ph()
           
 void setSolver(Solver solver)
          Set the solver used for this Label Environment.
 

Method Detail

addActsFor

void addActsFor(Principal p1,
                Principal p2)

addEquiv

void addEquiv(Principal p1,
              Principal p2)

addAssertionLE

void addAssertionLE(Label L1,
                    Label L2)

addEquiv

void addEquiv(Label L1,
              Label L2)

leq

boolean leq(Label L1,
            Label L2)

leq

boolean leq(Label L1,
            Label L2,
            LabelEnv.SearchState state)

ph

PrincipalHierarchy ph()

copy

LabelEnv copy()

definitions

java.util.Map definitions(VarMap bounds,
                          java.util.Set seenComponents)
Returns a Map of Strings to List[String]s which is the descriptions of any components that appear in the environment. This map is used for verbose output to the user, to help explain the meaning of constraints and labels. Seen components is a Set of Labels whose definitions will not be displayed.


isEmpty

boolean isEmpty()
Is this enviornment empty, or does is contain some constraints?


hasVariables

boolean hasVariables()
Do any of the assertions in this label environment contain variables?


setSolver

void setSolver(Solver solver)
Set the solver used for this Label Environment. When necessary, the label environment will use the variable bounds of label variables when determining if constraints are satisfied.