# Package jif.types.principal

- Interface Summary
  Interface | Description
  --- | ---
  BottomPrincipal | The bottom principal (written '_') allows all other principals to act for it.
  ConjunctivePrincipal | A conjunctive principal represents the conjunction of two principals A&B.
  DisjunctivePrincipal | A disjunctive principal represents the disjunction of two principals "A or B".
  DynamicPrincipal | Dynamic principal.
  ExternalPrincipal | The external principal is used primarily for testing purposes.
  ParamPrincipal | The principal derived from a principal parameter.
  Principal | The root interface of all kinds of Jif principals.
  TopPrincipal | The top principal is able to act for all other principals.
  UnknownPrincipal | A representation of any unknown principal.
  VarPrincipal |

- Class Summary
  Class | Description
  --- | ---
  BottomPrincipal_c |
  ConjunctivePrincipal_c |
  DisjunctivePrincipal_c |
  DynamicPrincipal_c | An implementation of the `DynamicPrincipal` interface.
  ExternalPrincipal_c | An implementation of the `ExternalPrincipal` interface.
  ParamPrincipal_c | An implementation of the `ParamPrincipal` interface.
  Principal_c | An abstract implementation of the `Principal` interface.
  TopPrincipal_c |
  UnknownPrincipal_c | An implementation of the `UnknownPrincipal` interface.
  VarPrincipal_c | An implementation of the `VarPrincipal` interface.