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 BaseGroup

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

All Implemented Interfaces:
  Group, Principal

Direct Known Subclasses:
  WorldGroup

public class BaseGroup
extends Object
implements Group

Beispielimplementierung für das Interface Group. Eine Gruppe enthaelt eine beliebige Anzahl von Principals. Dabei repräsentiert ein Principal einen User, eine Maschine oder was auch immer.

Zu Beachten: Das Interface `Group` erbt vom Interface `Principal`. Deshalb kann bei allen Methoden, die als Parameter ein `Principal` erwarten auch eine Gruppe uebergeben werden. Somit kann also auch einer Gruppe eine Gruppe als Mitglied uebergeben werden.

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

Constructor Summary
`BaseGroup(String s)` Konstruktor.

Method Summary
`boolean` | `addMember(Principal principal)` Fuegt den uebergebenen Principal als Mitglied der Gruppe hinzu.
`boolean` | `equals(Object otherGroup)` Vergleicht die uebergebene Gruppe mit dieser Gruppe.
`String` | `getName()` Gibt den Namen der Gruppe zurück.
`int` | `hashCode()` Gibt einen Hashcode fuer diese Gruppe zurueck.
`boolean` | `isMember(Principal principal)` Prueft, ob der uebergebene Principal ein Mitglied dieser Gruppe ist.
`protected boolean` | `isMemberRecurse(Principal principal, Vector vector)` Durchläuft der Reihe nach alle Principals dieser Gruppe.
`Enumeration` | `members()` Gibt eine Enumeration mit allen Mitgliedern der Gruppe zurueck.
`boolean` | `removeMember(Principal principal)` Loescht den uebergebenen Principal aus der Gruppe
`String` | `toString()` Gibt den Namen dieser Gruppe zurueck.

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

Constructor Detail

### BaseGroup

    public BaseGroup(String s)

  Konstruktor. Legt eine neue Gruppe mit dem angegebenen Namen an.

Parameters:
  `s` - Der Name der Gruppe.

Method Detail

### addMember

    public boolean addMember(Principal principal)

  Fuegt den uebergebenen Principal als Mitglied der Gruppe hinzu. Dieser Principal kann vom Typ `Principal` oder vom Typ `Group` sein. Der Gruppe kann ein Principal nicht hinzugefuegt werden wenn dieser Principal schon Mitglied der Gruppe ist. In diesem Fall wird `false` zurueckgegeben. Wenn versucht wird der gruppe sich selbst hinzuzufuegen, so wird eine `IllegalArgumentException` ausgeloest.

  Specified by:
    `addMember` in interface `Group`
  Parameters:
    `principal` - Der Principal der der Gruppe hinzugefuegt werden soll.
  Returns:
    `true`, wenn der Principal der Gruppe hinzugefuegt werden konnte. `false`, wenn der Principal schon ein Mitglied der gruppe war.

### removeMember

    public boolean removeMember(Principal principal)

  Loescht den uebergebenen Principal aus der Gruppe

  Specified by:
    `removeMember` in interface `Group`
  Parameters:
    `principal` - Der Principal der aus der Gruppe geloescht werden soll.
  Returns:
    `true`, wenn der Principal aus der Gruppe geloescht werden konnte. `false`, wenn der Principal kein Mitglied der Gruppe war.

### members

    public Enumeration members()

  Gibt eine Enumeration mit allen Mitgliedern der Gruppe zurueck. Diese Enumeration enthaelt nur Objekte die entweder vom Typ `Principal` oder vom Typ `Group` sind(Group erbt von Principal).

  Specified by:
    `members` in interface `Group`
  Returns:
    Eine Enumeration mit allen Mitgliedern der Gruppe.

### equals

    public boolean equals(Object otherGroup)

  Vergleicht die uebergebene Gruppe mit dieser Gruppe. Die beiden Gruppen sind dann gleich wenn sie den gleichen Namen und die gleichen Mitglieder haben.

  Specified by:
    `equals` in interface `Principal`
  Parameters:
    `otherGroup` - Die Gruppe, die mit dieser verglichen werden soll.
  Returns:
    `true`, wenn beide Gruppen gleich sind, ansonsten `false`.

### toString

    public String toString()

  Gibt den Namen dieser Gruppe zurueck.

  Specified by:
    `toString` in interface `Principal`
  Returns:
    Der Name der Gruppe.

### hashCode

    public int hashCode()

  Gibt einen Hashcode fuer diese Gruppe zurueck. Dabei handelt es sich um den Hashcode des Gruppennamenstring.

  Specified by:
    `hashCode` in interface `Principal`
  Returns:
    Der Hashcode fuer die Gruppe.

### getName

    public String getName()

  Gibt den Namen der Gruppe zurück.

  Specified by:
    `getName` in interface `Principal`
  Returns:
    Der Name der Gruppe.

### isMember

    public boolean isMember(Principal principal)

  Prueft, ob der uebergebene Principal ein Mitglied dieser Gruppe ist. Wenn die Gruppe witere Gruppen enthaelt, so werden diese Gruppen auch nach diesem Principal durchsucht.

  Specified by:
    `isMember` in interface `Group`
  Parameters:
    `principal` - Der Principal, der in der Gruppe gesucht wird.
  Returns:
    `true`, wenn der uebergebene Principal ein Mitglied der Gruppe ist, ansonsten `false`.

### isMemberRecurse

    protected boolean isMemberRecurse(Principal principal,
                                      Vector vector)

  Durchläuft der Reihe nach alle Principals dieser Gruppe. Da eine Gruppe auch ein Principal ist, wird geprüft, ob einer der Principals in dieser Gruppe wiederum eine Gruppe ist. Wenn ja wird in der enthaltenen Gruppe nach dem Principal gesucht. Sobald ein passender Eintrag gefunden wurde wird `true` zurückgegeben. Wenn kein Eintrag gefunden wird wird `false` zurückgegeben.

  Parameters:
    `principal` -
    `vector` -
  Returns:
    `true`, wenn der uebergebene Principal Mitglied dieser Gruppe oder einer der in der Gruppe als Mitglied enthaltenen Gruppen ist, ansonsten `false`.

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