Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jsystems.framework.security.acl
Class BaseAclEntry

    java.lang.Object
      de.jsystems.framework.security.acl.BaseAclEntry

All Implemented Interfaces:
  AclEntry, Cloneable

public class BaseAclEntry
extends Object
implements AclEntry

Beispielimplementierung für das Interface AclEntry Eine ACL kann als Liste mehrerer ACL-Einträge betrachtet werden. Jeder Eintrag wiederum enthält eine Liste von Rechten und gehört immer zu einem Principal(Ein User odr eine Gruppe). Zusätzlich ist jeder Eintrag spezifiziert als entwerder positiv oder negativ. Positiv bedeutet, das er einem Principal Rechte gibt. Negativ bedeutet, das er dem Principal diese Rechte wieder entzieht. Jeder Principal kann jeweils nur einen positiven und einen negativen Eintrag haben, mehrfache positive oder negative Einträge für einen Principal sind nicht erlaubt. Ein ACL-Eintrag ist per default immer positiv. Negativ wird er erst durch Aufruf der Methode `setNegativePermissions()`. Sobald ein Eintrag negativ ist kann er nicht mehr positiv gemacht werden.

Version:
  1.0
  Copyright by Jens Homm 2001 - 2003
Author:
  Jens Homm JSYSTEMS

Constructor Summary
`BaseAclEntry()` Konstruktor.
`BaseAclEntry(Principal principal)` Konstruktor.

Method Summary
`boolean` | `addPermission(Permission permission)` Fügt dem Eintrag eine neue Berechtigung zu.
`boolean` | `checkPermission(Permission permission)` Prüft, ob die uebergebene Berechtigung in der Liste der Berechtigungen enthalten ist.
`Object` | `clone()` Legt eine Kopie dieses Objektes an.
`Principal` | `getPrincipal()` Gibt den Principal zurück für den die Rechte in diesem ACL-Eintrag gesetzt wurden.
`boolean` | `hasPermission(Permission permission)` Prüft, ob dieser AclEntry die uebergebene Berechtigung enthaelt.
`boolean` | `isNegative()` Gibt true zurück, wenn dieser Eintrag negativ ist, ansonsten false.
`Enumeration` | `permissions()` Gibt eine Enumeration mit allen Berechtigungen aus diesem AclEntry zurück.
`boolean` | `removePermission(Permission permission)` Löscht die uebergebene Berechtigung aus der Liste der Berechtigungen in diesem AclEntry.
`void` | `setNegativePermissions()` Legt fest, das dieser Eintrag für entzogene Rechte ist.
`boolean` | `setPrincipal(Principal principal)` Setzt den Principal für den die in diesem Eintrag verwalteten Rechte gelten sollen.
`String` | `toString()` Gibt die Stringrepräsentation für diesen AclEntry zurück.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### BaseAclEntry

    public BaseAclEntry(Principal principal)

  Konstruktor. Erzeugt einen AclEntry für den übergebenen Principal.

Parameters:
  `principal` - Der Principal zu dem ein Rechte-Eintrag erzeugt werden soll.

### BaseAclEntry

    public BaseAclEntry()

  Konstruktor. Erzeugt einen AclEntry. Der AclEntry gehört noch zu keinem User. Dieser muß später mit der Methode `setPrincipal()` gesetzt werden. Sobald einmal ein Principal gesetzt ist kann er nicht nochmals gesetzt werden

Method Detail

### setPrincipal

    public boolean setPrincipal(Principal principal)

  Setzt den Principal für den die in diesem Eintrag verwalteten Rechte gelten sollen. Falls es für diesen Eintrag schon einen Principal gibt wird false zurückgegeben, ansonsten true.

  Specified by:
    `setPrincipal` in interface `AclEntry`
  Parameters:
    `principal` - Der Principal für den dieser ACL-Eintrag gelten soll.
  Returns:
    `true` wenn der Principal gesetzt werden konnte, `false` wenn für diesen ACL-Eintrag schon ein Principal gesetzt war.

### getPrincipal

    public Principal getPrincipal()

  Gibt den Principal zurück für den die Rechte in diesem ACL-Eintrag gesetzt wurden. Gibt NULL zurück, wenn für diesen Eintrag noch kein Principal festgelegt wurde.

  Specified by:
    `getPrincipal` in interface `AclEntry`
  Returns:
    Der Principal, der zu diesem ACL-Eintrag gehört.

### setNegativePermissions

    public void setNegativePermissions()

  Legt fest, das dieser Eintrag für entzogene Rechte ist. Das bedeutet, das dem zugehörigen Principal(Ein User oder eine Gruppe) alle Rechte entzogen werden, die sich in diesem Eintrag befinden. Sobald diese Liste auf `negative` gesetzt wurde kann das nicht mehr rueckgaengig machen. Zu Beachten: Ein AclEntry ist per default erst mal positiv. Erst durch Aufruf der Methode `setNegativePermissions()` wird der Eintrag negativ.

  Specified by:
    `setNegativePermissions` in interface `AclEntry`

### isNegative

    public boolean isNegative()

  Gibt true zurück, wenn dieser Eintrag negativ ist, ansonsten false.

  Specified by:
    `isNegative` in interface `AclEntry`
  Returns:
    `true` wenn es sich um einen negativen Eintrag handelt ansonsten `false`.

### addPermission

    public boolean addPermission(Permission permission)

  Fügt dem Eintrag eine neue Berechtigung zu. Ein AclEntry kann mehrere Berechtigungen haben. Sollte die uebergebene Berechtigung in der Liste schon enthalten sein wird `false` zurueckgegeben.

  Specified by:
    `addPermission` in interface `AclEntry`
  Parameters:
    `permission` - Die Berechtigung, die diesem Eintrag hinzugfügt werden soll.
  Returns:
    `true`, wenn die Berechtigung hinzugefügt werden konnte. `false`, wenn diese Berechtigung schon in der Liste der Berechtigungen für diesen AclEntry vorhanden war.

### removePermission

    public boolean removePermission(Permission permission)

  Löscht die uebergebene Berechtigung aus der Liste der Berechtigungen in diesem AclEntry.

  Specified by:
    `removePermission` in interface `AclEntry`
  Parameters:
    `permission` - Die zu löschende Berechtigung.
  Returns:
    `true` wenn die Berechtigung gelöscht werden konnte. `false` wenn die Berechtigung nicht in der Liste der Berechtigungen für diesen AclEntry vorhanden war.

### checkPermission

    public boolean checkPermission(Permission permission)

  Prüft, ob die uebergebene Berechtigung in der Liste der Berechtigungen enthalten ist.

  Specified by:
    `checkPermission` in interface `AclEntry`
  Parameters:
    `permission` - Die zu prüfende Berechtigung.
  Returns:
    `true` wenn die Berechtigung in der Liste der Berechtigungen steht, ansonsten `false`.

### permissions

    public Enumeration permissions()

  Gibt eine Enumeration mit allen Berechtigungen aus diesem AclEntry zurück.

  Specified by:
    `permissions` in interface `AclEntry`
  Returns:
    Eine Enumeration mit allen Berechtigungen dieser Liste.

### toString

    public String toString()

  Gibt die Stringrepräsentation für diesen AclEntry zurück. Dabei faengt der String mit einem Plus(+) oder Minus(-) an, je nachdem ob es sich um eine positive oder negative Liste handelt, gefolgt von der Bezeichnung 'User ' oder 'Group ', je nachdem, ob die Liste fuer eine Gruppe(Group ) oder ein Principal(User ) ist. Anschliessend folgt nach einem Gleichheitszeichen(=) eine Kommaseparierte Liste mit den Namen aller Berechtigungen in der Liste.

  Specified by:
    `toString` in interface `AclEntry`
  Returns:
    Eine Stringrepräsentation der Einträge in diesem AclEntry.

### hasPermission

    public boolean hasPermission(Permission permission)

  Prüft, ob dieser AclEntry die uebergebene Berechtigung enthaelt. Wenn ja wird `true` zurückgegeben, andernfalls `false`.

  Returns:
    `true`, wenn die Liste die uebergebene Berechtigung enthaelt, ansonsten `false`.

### clone

    public Object clone()

  Legt eine Kopie dieses Objektes an.

  Specified by:
    `clone` in interface `AclEntry`
  Returns:
    Eine Kopie dieses AclEntrys.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD