jif.types.label
Class ReaderPolicy_c

java.lang.Object
  extended by polyglot.types.TypeObject_c
      extended by jif.types.label.Policy_c
          extended by jif.types.label.ReaderPolicy_c
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, ConfPolicy, Policy, ReaderPolicy, polyglot.types.TypeObject, polyglot.util.Copy

public class ReaderPolicy_c
extends Policy_c
implements ReaderPolicy

An implementation of the PolicyLabel interface.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class polyglot.types.TypeObject_c
position, ts
 
Constructor Summary
ReaderPolicy_c(Principal owner, Principal reader, JifTypeSystem ts, polyglot.util.Position pos)
           
 
Method Summary
 boolean equalsImpl(polyglot.types.TypeObject o)
           
 int hashCode()
           
 boolean isBottom()
           
 boolean isBottomConfidentiality()
           
 boolean isCanonical()
           
 boolean isRuntimeRepresentable()
           
 boolean isSingleton()
           
 boolean isTop()
           
 boolean isTopConfidentiality()
           
 ConfPolicy join(ConfPolicy p)
           
 PathMap labelCheck(JifContext A, LabelChecker lc)
           
 boolean leq_(ConfPolicy p, LabelEnv env, LabelEnv.SearchState state)
           
 ConfPolicy meet(ConfPolicy p)
           
 Principal owner()
           
 Principal reader()
           
protected  Policy simplifyImpl()
           
 Policy subst(LabelSubstitution substitution)
           
 java.util.List throwTypes(polyglot.types.TypeSystem ts)
           
 java.lang.String toString(java.util.Set printedLabels)
           
 
Methods inherited from class jif.types.label.Policy_c
copy, hasVariables, hasWritersToReaders, simplify, toString
 
Methods inherited from class polyglot.types.TypeObject_c
equals, position, typeSystem
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jif.types.label.Policy
hasVariables, hasWritersToReaders, simplify
 
Methods inherited from interface polyglot.types.TypeObject
position, typeSystem
 
Methods inherited from interface polyglot.util.Copy
copy
 

Constructor Detail

ReaderPolicy_c

public ReaderPolicy_c(Principal owner,
                      Principal reader,
                      JifTypeSystem ts,
                      polyglot.util.Position pos)
Method Detail

owner

public Principal owner()
Specified by:
owner in interface ReaderPolicy

reader

public Principal reader()
Specified by:
reader in interface ReaderPolicy

isSingleton

public boolean isSingleton()
Specified by:
isSingleton in interface Policy

isCanonical

public boolean isCanonical()
Specified by:
isCanonical in interface Policy
Specified by:
isCanonical in interface polyglot.types.TypeObject

isRuntimeRepresentable

public boolean isRuntimeRepresentable()
Specified by:
isRuntimeRepresentable in interface Policy

simplifyImpl

protected Policy simplifyImpl()
Specified by:
simplifyImpl in class Policy_c

equalsImpl

public boolean equalsImpl(polyglot.types.TypeObject o)
Specified by:
equalsImpl in interface polyglot.types.TypeObject
Specified by:
equalsImpl in class Policy_c

hashCode

public int hashCode()
Overrides:
hashCode in class polyglot.types.TypeObject_c

leq_

public boolean leq_(ConfPolicy p,
                    LabelEnv env,
                    LabelEnv.SearchState state)
Specified by:
leq_ in interface ConfPolicy

toString

public java.lang.String toString(java.util.Set printedLabels)
Specified by:
toString in interface Policy
Specified by:
toString in class Policy_c

throwTypes

public java.util.List throwTypes(polyglot.types.TypeSystem ts)
Specified by:
throwTypes in interface Policy

subst

public Policy subst(LabelSubstitution substitution)
             throws polyglot.types.SemanticException
Specified by:
subst in interface Policy
Throws:
polyglot.types.SemanticException

labelCheck

public PathMap labelCheck(JifContext A,
                          LabelChecker lc)
Specified by:
labelCheck in interface Policy

isBottomConfidentiality

public boolean isBottomConfidentiality()
Specified by:
isBottomConfidentiality in interface ConfPolicy

isTopConfidentiality

public boolean isTopConfidentiality()
Specified by:
isTopConfidentiality in interface ConfPolicy

isTop

public boolean isTop()
Specified by:
isTop in interface Policy

isBottom

public boolean isBottom()
Specified by:
isBottom in interface Policy

meet

public ConfPolicy meet(ConfPolicy p)
Specified by:
meet in interface ConfPolicy

join

public ConfPolicy join(ConfPolicy p)
Specified by:
join in interface ConfPolicy