Class Region
- java.lang.Object
-
- de.bsvrz.dav.daf.accessControl.internal.DataLoader
-
- de.bsvrz.dav.daf.accessControl.internal.Region
-
- All Implemented Interfaces:
ObjectCollectionParent
public class Region extends DataLoader implements ObjectCollectionParent
Kapselt eine Region bei der Rechteverwaltung
-
-
Field Summary
-
Fields inherited from class de.bsvrz.dav.daf.accessControl.internal.DataLoader
_debug, _readLock, _writeLock
-
-
Constructor Summary
Constructors Constructor Description Region(SystemObject systemObject, ClientDavInterface connection, RegionManager accessControlManager)
Erstellt eine neue Region
-
Method Summary
Modifier and Type Method Description void
addRegionChangeListener(RegionChangeListener object)
Fügt einen Listener hinzu, der Objekte benachrichtigt, wenn diese Region geändert wirdboolean
contains(SystemObject object)
Prüft, ob ein angegebenes Systemobjekt in der Region enthalten istvoid
deactivateInvalidChild(DataLoader node)
Wenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren.java.util.Collection<SystemObject>
getAllObjects(java.util.Collection<? extends SystemObjectType> types)
Gibt alle Objekte in der Region zurück.protected java.util.Collection<DataLoader>
getChildObjects()
Gibt die untergeordneten Objekte zurück.ObjectSet
getExcludedObjects()
ObjectSet
getIncludedObjects()
Region
getRegion(SystemObject regionObject)
boolean
isDisabled(Region region)
static java.util.Collection<SystemObjectType>
mergeTypes(java.lang.Iterable<? extends SystemObjectType> typesA, java.lang.Iterable<? extends SystemObjectType> typesB)
Gibt die Objekttypen zurück, die in beiden Listen sind.protected void
removeRegionChangeListener(RegionChangeListener object)
Entfernt einen mitaddRegionChangeListener(RegionChangeListener)
hinzugefügten Listener wiederprotected void
update(Data data)
Wird aufgerufen, wenn neue Daten eingetroffen sind.-
Methods inherited from class de.bsvrz.dav.daf.accessControl.internal.DataLoader
getDataState, getNoDataTime, getSystemObject, invalidate, isInitialized, startDataListener, stopDataListener, toString, toString, waitForInitialization, waitForInitializationTree
-
-
-
-
Constructor Detail
-
Region
public Region(SystemObject systemObject, ClientDavInterface connection, RegionManager accessControlManager)
Erstellt eine neue Region- Parameters:
systemObject
- Systemobjekt, das die Daten dieser Region enthältconnection
- Verbindung zum DatenverteileraccessControlManager
- Klasse, die Berechtigungsobjekte verwaltet
-
-
Method Detail
-
mergeTypes
public static java.util.Collection<SystemObjectType> mergeTypes(java.lang.Iterable<? extends SystemObjectType> typesA, java.lang.Iterable<? extends SystemObjectType> typesB)
Gibt die Objekttypen zurück, die in beiden Listen sind. Ist in Liste 1 z.B. DynamischerObjektTyp und FahrstreifenTyp und in Liste 2 BenutzerTyp, FahrStreifenTyp und MessQuerschnittTyp wird BenutzerTyp und FahrStreifenTyp zurückgegeben- Parameters:
typesA
- Liste 1typesB
- Liste 2- Returns:
- Objekttypen zurück, die in beiden Listen sind
-
addRegionChangeListener
public void addRegionChangeListener(RegionChangeListener object)
Fügt einen Listener hinzu, der Objekte benachrichtigt, wenn diese Region geändert wird- Parameters:
object
- Callback-Interface das benachrichtigt wird
-
contains
public boolean contains(SystemObject object)
Prüft, ob ein angegebenes Systemobjekt in der Region enthalten ist- Parameters:
object
- Zu prüfendes SystemObjekt- Returns:
- true wenn es enthalten ist
-
deactivateInvalidChild
public void deactivateInvalidChild(DataLoader node)
Description copied from class:DataLoader
Wenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren. Beispielsweise könnte eine Rolle angewiesen werden, eine innere Rolle zu deaktivieren, weil sie identisch mit der eigentlichen Rolle ist.- Specified by:
deactivateInvalidChild
in classDataLoader
- Parameters:
node
- Das zu entfernende Kindobjekt
-
getAllObjects
public java.util.Collection<SystemObject> getAllObjects(java.util.Collection<? extends SystemObjectType> types)
Gibt alle Objekte in der Region zurück. Der Aufruf sollte, falls möglich, vermieden werden, da der Vorgang je nach Definition der Region sehr lange dauern kann- Parameters:
types
- Objekttypen, die beachtet werden sollen- Returns:
- Liste mit Systemobjekten in der Region
-
getChildObjects
protected java.util.Collection<DataLoader> getChildObjects()
Description copied from class:DataLoader
Gibt die untergeordneten Objekte zurück. Z.B. die Rollen und Regionen bei der Berechtigungsklasse oder die Berechtigungsklassen beim Benutzer. Wird gebraucht um Rekursionen zu erkennen und über geänderte Benutzerrechte zu informieren. Achtung: Es werden nur die direkten Kinder zurückzugeben, nicht die "Enkel" usw. - Will man alle "Enkel" usw. haben muss man diese Funktion rekursiv aufrufen.
Hinweis: MitDataLoader.deactivateInvalidChild(DataLoader)
deaktivierte Kindelemente werden nicht aufgeführt.- Specified by:
getChildObjects
in classDataLoader
- Returns:
- Liste mit untergeordneten Objekten
-
removeRegionChangeListener
protected void removeRegionChangeListener(RegionChangeListener object)
Entfernt einen mitaddRegionChangeListener(RegionChangeListener)
hinzugefügten Listener wieder- Parameters:
object
- Callback-Interface das benachrichtigt wird
-
update
protected void update(Data data)
Description copied from class:DataLoader
Wird aufgerufen, wenn neue Daten eingetroffen sind. Implementierende Klassen sollten hier das Data-Objekt verarbeiten.- Specified by:
update
in classDataLoader
- Parameters:
data
- Data-Objekt entsprechend Attributgruppe und Aspekt
-
isDisabled
public boolean isDisabled(Region region)
- Specified by:
isDisabled
in interfaceObjectCollectionParent
-
getRegion
public Region getRegion(SystemObject regionObject)
- Specified by:
getRegion
in interfaceObjectCollectionParent
-
getIncludedObjects
public ObjectSet getIncludedObjects()
-
getExcludedObjects
public ObjectSet getExcludedObjects()
-
-