jif.lang
Class LabelUtil

java.lang.Object
  extended by jif.lang.LabelUtil

public class LabelUtil
extends java.lang.Object

A Label is the runtime representation of a Jif label. A Label consists of a set of components, each of which is a Policy.


Field Summary
static boolean COUNT_TIME
           
protected static LabelUtil singleton
           
static boolean USE_CACHING
           
 
Constructor Summary
protected LabelUtil()
           
 
Method Summary
 ConfPolicy bottomConf()
           
 boolean equivalentTo(Label l1, Label l2)
           
 int getAndClearCount()
           
 long getAndClearTime()
           
 int getAndClearTopCount()
           
 int hashCode(Label lb)
           
 boolean isReadableBy(Label lbl, Principal p)
           
 boolean isWritableBy(Label lbl, Principal p)
           
 ConfPolicy join(ConfPolicy p1, ConfPolicy p2)
           
protected  ConfPolicy join(ConfPolicy p1, ConfPolicy p2, java.util.Set<jif.lang.PrincipalUtil.DelegationPair> s)
           
 IntegPolicy join(IntegPolicy p1, IntegPolicy p2)
           
 Label join(Label l1, Label l2)
           
protected  ConfPolicy meet(ConfPolicy p1, ConfPolicy p2, java.util.Set<jif.lang.PrincipalUtil.DelegationPair> s)
           
 Label meet(Label l1, Label l2)
           
 Label meetLbl(Label l1, Label l2)
           
 ConfPolicy meetPol(ConfPolicy p1, ConfPolicy p2)
           
 IntegPolicy meetPol(IntegPolicy p1, IntegPolicy p2)
           
 Label noComponents()
           
 ConfPolicy readerPolicy(Label lbl, Principal owner, Principal[] readers)
          See the Jif signature for the explanation of lbl.
 ConfPolicy readerPolicy(Principal owner, java.util.Collection<Principal> readers)
           
 ConfPolicy readerPolicy(Principal owner, Principal reader)
           
 ConfPolicy readerPolicy(Principal owner, PrincipalSet writers)
           
 Label readerPolicyLabel(Label lbl, Principal owner, Principal[] readers)
          See the Jif signature for the explanation of lbl.
 Label readerPolicyLabel(Principal owner, java.util.Collection<Principal> readers)
           
 Label readerPolicyLabel(Principal owner, Principal reader)
           
 Label readerPolicyLabel(Principal owner, PrincipalSet readers)
           
 boolean relabelsTo(Label from, Label to)
           
 boolean relabelsTo(Policy from, Policy to)
           
 boolean relabelsTo(Policy from, Policy to, java.util.Set<jif.lang.PrincipalUtil.DelegationPair> s)
           
static LabelUtil singleton()
           
 java.lang.String stringValue(Label lb)
           
 Label toLabel(ConfPolicy policy)
           
 Label toLabel(ConfPolicy cPolicy, IntegPolicy iPolicy)
           
 Label toLabel(IntegPolicy policy)
           
 ConfPolicy topConf()
           
 IntegPolicy topInteg()
           
 java.lang.String toString(Label lb)
           
 IntegPolicy writerPolicy(Label lbl, Principal owner, Principal[] writers)
          See the Jif signature for the explanation of lbl.
 IntegPolicy writerPolicy(Principal owner, java.util.Collection<Principal> writers)
           
 IntegPolicy writerPolicy(Principal owner, Principal writer)
           
 IntegPolicy writerPolicy(Principal owner, PrincipalSet writers)
           
 Label writerPolicyLabel(Label lbl, Principal owner, Principal[] writers)
          See the Jif signature for the explanation of lbl.
 Label writerPolicyLabel(Principal owner, java.util.Collection<Principal> writers)
           
 Label writerPolicyLabel(Principal owner, Principal writer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

singleton

protected static LabelUtil singleton

COUNT_TIME

public static final boolean COUNT_TIME
See Also:
Constant Field Values

USE_CACHING

public static final boolean USE_CACHING
See Also:
Constant Field Values
Constructor Detail

LabelUtil

protected LabelUtil()
Method Detail

singleton

public static LabelUtil singleton()

getAndClearTime

public long getAndClearTime()

getAndClearCount

public int getAndClearCount()

getAndClearTopCount

public int getAndClearTopCount()

noComponents

public Label noComponents()

bottomConf

public ConfPolicy bottomConf()

topConf

public ConfPolicy topConf()

topInteg

public IntegPolicy topInteg()

readerPolicy

public ConfPolicy readerPolicy(Principal owner,
                               Principal reader)

readerPolicy

public ConfPolicy readerPolicy(Principal owner,
                               java.util.Collection<Principal> readers)

readerPolicy

public ConfPolicy readerPolicy(Label lbl,
                               Principal owner,
                               Principal[] readers)
See the Jif signature for the explanation of lbl.


readerPolicy

public ConfPolicy readerPolicy(Principal owner,
                               PrincipalSet writers)

readerPolicyLabel

public Label readerPolicyLabel(Principal owner,
                               Principal reader)

readerPolicyLabel

public Label readerPolicyLabel(Principal owner,
                               java.util.Collection<Principal> readers)

readerPolicyLabel

public Label readerPolicyLabel(Label lbl,
                               Principal owner,
                               Principal[] readers)
See the Jif signature for the explanation of lbl.


readerPolicyLabel

public Label readerPolicyLabel(Principal owner,
                               PrincipalSet readers)

writerPolicy

public IntegPolicy writerPolicy(Principal owner,
                                Principal writer)

writerPolicy

public IntegPolicy writerPolicy(Principal owner,
                                java.util.Collection<Principal> writers)

writerPolicyLabel

public Label writerPolicyLabel(Principal owner,
                               Principal writer)

writerPolicyLabel

public Label writerPolicyLabel(Principal owner,
                               java.util.Collection<Principal> writers)

writerPolicyLabel

public Label writerPolicyLabel(Label lbl,
                               Principal owner,
                               Principal[] writers)
See the Jif signature for the explanation of lbl.


writerPolicy

public IntegPolicy writerPolicy(Label lbl,
                                Principal owner,
                                Principal[] writers)
See the Jif signature for the explanation of lbl.


writerPolicy

public IntegPolicy writerPolicy(Principal owner,
                                PrincipalSet writers)

toLabel

public Label toLabel(ConfPolicy cPolicy,
                     IntegPolicy iPolicy)

toLabel

public Label toLabel(ConfPolicy policy)

toLabel

public Label toLabel(IntegPolicy policy)

join

public Label join(Label l1,
                  Label l2)

meetLbl

public Label meetLbl(Label l1,
                     Label l2)

meet

public Label meet(Label l1,
                  Label l2)

join

public ConfPolicy join(ConfPolicy p1,
                       ConfPolicy p2)

join

protected ConfPolicy join(ConfPolicy p1,
                          ConfPolicy p2,
                          java.util.Set<jif.lang.PrincipalUtil.DelegationPair> s)

join

public IntegPolicy join(IntegPolicy p1,
                        IntegPolicy p2)

meetPol

public ConfPolicy meetPol(ConfPolicy p1,
                          ConfPolicy p2)

meet

protected ConfPolicy meet(ConfPolicy p1,
                          ConfPolicy p2,
                          java.util.Set<jif.lang.PrincipalUtil.DelegationPair> s)

meetPol

public IntegPolicy meetPol(IntegPolicy p1,
                           IntegPolicy p2)

equivalentTo

public boolean equivalentTo(Label l1,
                            Label l2)

isReadableBy

public boolean isReadableBy(Label lbl,
                            Principal p)

isWritableBy

public boolean isWritableBy(Label lbl,
                            Principal p)

relabelsTo

public boolean relabelsTo(Label from,
                          Label to)

relabelsTo

public boolean relabelsTo(Policy from,
                          Policy to)

relabelsTo

public boolean relabelsTo(Policy from,
                          Policy to,
                          java.util.Set<jif.lang.PrincipalUtil.DelegationPair> s)

stringValue

public java.lang.String stringValue(Label lb)

toString

public java.lang.String toString(Label lb)

hashCode

public int hashCode(Label lb)