de.jsystems.framework.security.acl
Class BaseOwner

java.lang.Object
  extended byde.jsystems.framework.security.acl.BaseOwner
All Implemented Interfaces:
Owner
Direct Known Subclasses:
BaseAcl

public class BaseOwner
extends Object
implements Owner

Beispielimplementierung für das Interface Owner. Diese Klasse verwaltet die Owner einer ACL. Nur Owner einer ACL duerfen eine ACL veraendern. Das heist, Listen mit Rechten hinzufuegen oder Owner fuer die ACL anlegen. Beim anlegen dieses BaseOwners wird ein Priincipal uebergeben. Dieser ist dann ein Besitzer fuer eine ACL. Diese Klasse wird von der Klasse BaseAcl erweitert. Beim erzeugen einer BaseAcl wird auch ein Principal mit uebergeben, der damit automatisch zum Besitzer der ACL wird. Die Methoden in dieser Klasse werden eigentlich nur von der Implementierung in der Klasse BaseAcl benutzt.

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

Constructor Summary
BaseOwner(Principal owner)
          Legt den uebergebenen Principal in der Gruppe AclOwners fuer Besitzer einer ACL an.
 
Method Summary
 boolean addOwner(Principal caller, Principal owner)
          Fuegt der Gruppe AclOwners ein neues Mitglied hinzu.
 boolean deleteOwner(Principal caller, Principal owner)
          Loescht den uebergebenen Principal(owner) aus der Grupe der ACL-Besitzer.
 boolean isOwner(Principal owner)
          Prueft, ob der uebergebene Principal ein Owner der ACL ist.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseOwner

public BaseOwner(Principal owner)
Legt den uebergebenen Principal in der Gruppe AclOwners fuer Besitzer einer ACL an.

Parameters:
owner - Der Principal der Besitzer einer ACL ist.
Method Detail

addOwner

public boolean addOwner(Principal caller,
                        Principal owner)
                 throws NotOwnerException
Fuegt der Gruppe AclOwners ein neues Mitglied hinzu. Dieser ist dann auch Besitzer einer ACL und kann diese veraendern. Der Aufrufer der Methode muss selbst ein Besitzer der ACL sein, denn nur dann kann er einer ACL weitere Besitzer hinzufuegen. Der InitialOwner wird beim erzeugen dieser Klasse angelegt.

Specified by:
addOwner in interface Owner
Parameters:
caller - Der Aufrufer dieser Methode. Es muss sich dabei um einen Besitzer der ACL handeln.
owner - Der Principal, der als weiterer Besitzer der ACL eingetragen werden soll.
Returns:
true, wenn der neue Besitzer hinzugefuegt werden konnte. false, wenn der uebergebene 'owner' schon Besitzer der ACL ist.
Throws:
NotOwnerException - wenn der Aufrufer der Methode kein Besitzer der ACL ist.

deleteOwner

public boolean deleteOwner(Principal caller,
                           Principal owner)
                    throws NotOwnerException,
                           LastOwnerException
Loescht den uebergebenen Principal(owner) aus der Grupe der ACL-Besitzer. Wenn damit der letzte Besitzer der ACL geloescht werden wuerde, so wird er nicht geloescht, sondern eine LastOwnerException ausgeloest, da in diesem Falle die ACL sonst keinen Besitzer mehr haette.

Specified by:
deleteOwner in interface Owner
Parameters:
caller - Der Aufrufer der MEthode. Dieser muss ein Besitzer der ACL sein.
owner - Der aus der Gruppe der ACL-Besitzer zu loeschende Principal.
Returns:
true, wenn der Owner geloescht werden konnte, false wenn der owner kein Besitzer dieser ACL war.
Throws:
NotOwnerException - wenn der Aufrufer der Methode(caller) kein Besitzer der ACL ist.
LastOwnerException - wenn der letzte Besitzer der ACL geloescht werden soll.

isOwner

public boolean isOwner(Principal owner)
Prueft, ob der uebergebene Principal ein Owner der ACL ist.

Specified by:
isOwner in interface Owner
Parameters:
owner - Der Principal, der eprueft werden soll ob er ein Besitzer der ACL ist.
Returns:
true, wenn der uebergebene Principal ein Besitzer der ACL ist, ansonsten false.