jif.lang

## Class AbstractPrincipal

- java.lang.Object
- - jif.lang.AbstractPrincipal

- All Implemented Interfaces:
    Principal

      public abstract class AbstractPrincipal
      extends java.lang.Object
      implements Principal

  This is an abstract implementation of the principal interface. It provides convenience methods for delgating authority to superiors. This class assumes that principals are equal if they are the same class with the same name.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `AbstractPrincipal()`
    `protected` | `AbstractPrincipal(java.lang.String name)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDelegatesTo(Principal p)`
    `boolean` | `delegatesTo(Principal p)`
    `boolean` | `equals(java.lang.Object o)`
    `boolean` | `equals(Principal p)`
    `ActsForProof` | `findProofDownto(Principal q, java.lang.Object searchState)`
    `ActsForProof` | `findProofUpto(Principal p, java.lang.Object searchState)`
    `int` | `hashCode()`
    `boolean` | `isAuthorized(java.lang.Object authPrf, Closure closure, Label lb, boolean executeNow)`
    `protected AbstractPrincipal` | `jif$lang$AbstractPrincipal$(java.lang.String name)`
    `protected AbstractPrincipal` | `jif$lang$AbstractPrincipal$(java.lang.String name, Principal superior)`
    `java.lang.String` | `name()`
    `void` | `removeDelegatesTo(Principal p)`
    `protected boolean` | `superiorsContains(Principal p)`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractPrincipal

          public AbstractPrincipal()

    - #### AbstractPrincipal

          protected AbstractPrincipal(java.lang.String name)

  - ### Method Detail

    - #### jif$lang$AbstractPrincipal$

          protected AbstractPrincipal jif$lang$AbstractPrincipal$(java.lang.String name)

    - #### jif$lang$AbstractPrincipal$

          protected AbstractPrincipal jif$lang$AbstractPrincipal$(java.lang.String name,
                                                                  Principal superior)

    - #### name

          public java.lang.String name()

      Specified by:
        `name` in interface `Principal`

    - #### delegatesTo

          public boolean delegatesTo(Principal p)

      Specified by:
        `delegatesTo` in interface `Principal`

    - #### addDelegatesTo

          public void addDelegatesTo(Principal p)

    - #### removeDelegatesTo

          public void removeDelegatesTo(Principal p)

    - #### superiorsContains

          protected boolean superiorsContains(Principal p)

    - #### isAuthorized

          public boolean isAuthorized(java.lang.Object authPrf,
                                      Closure closure,
                                      Label lb,
                                      boolean executeNow)

      Specified by:
        `isAuthorized` in interface `Principal`

    - #### findProofDownto

          public ActsForProof findProofDownto(Principal q,
                                              java.lang.Object searchState)

      Specified by:
        `findProofDownto` in interface `Principal`

    - #### findProofUpto

          public ActsForProof findProofUpto(Principal p,
                                            java.lang.Object searchState)

      Specified by:
        `findProofUpto` in interface `Principal`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### equals

          public boolean equals(Principal p)

      Specified by:
        `equals` in interface `Principal`