|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectschmitzm.data.property.Access
public abstract class Access
Diese Klasse stellt ein allgemeines Zugriffsrecht fuer eine Eigenschaft
(Property
) dar. Dieses dient dazu, nur bestimmten Zugriff auf
das jeweilige Objekt zu erlauben (z.B. nur Lesezugriff). Aus diesem
Grund gibt es auch keine getObject()
-Methode, ueber welche ein
direkter (kompletter) Zugriff auf das Objekt moeglich waere.
Welche und vor allem wie viele (gleichzeitige) Zugriffsrechte ein Objekt
erlaubt, wird von der jeweiligen Objektklasse selbst definiert.
Ein Zugriffsrecht kann vom Besitzer zurueckgegeben werden
(release()
) oder auch von einem globaler Rechteverwalter
entzogen werden (dispose()
).
In beiden Faellen sollen saemtliche folgenden Zugriffsmethoden auf
das Objekt mit Exceptions abgebrochen werden.
Field Summary | |
---|---|
protected int |
accessTimes
Speichert, wie of ein Objekt das Zugrifsrecht bereits benutzt hat. |
protected boolean |
disposed
Gibt an, ob das Recht noch gueltig ist |
protected int |
maxAccessTimes
Speichert, wie of ein Objekt das Zugrifsrecht nutzen darf. |
protected Accessible |
object
Speichert das Objekt, ueber das das Zugriffsrecht ausgesprochen wurde. |
protected Object |
owner
Speichert den Besitzer des Zugriffsrechts |
static int |
UNLIMITED_ACCESSTIMES
Diese Konstante steht fuer unbegrenzte Anzahl an Zugriffen auf das Recht |
Constructor Summary | |
---|---|
Access(Accessible object,
Object owner)
Erzeugt ein neues Zugriffsrecht. |
|
Access(Accessible object,
Object owner,
int maxAccessTimes)
Erzeugt ein neues Zugriffsrecht. |
Method Summary | |
---|---|
void |
checkDisposed()
Wirft eine AccessViolationException , wenn das Zugriffsrecht
nicht mehr gueltig ist. |
void |
dispose()
Macht das Recht ungueltig. |
boolean |
equals(Object access)
Vergleicht das Zugriffsrecht mit einem anderen. |
int |
getAccessTimes()
Liefert die Anzahl an Zugriffen, die der Besitzer bereits (ueber eine Methode) getaetigt hat. |
int |
getMaxAccessTimes()
Liefert die Anzahl, die der Besitzer berechtigt ist, das Zugriffsrecht (ueber eine Methode) einzusetzen. |
Object |
getOwner()
Liefert den Besitzer des Rechts. |
protected void |
incAndCheckMaxAccessTimesReached()
Erhoeht die Anzahl an (Methoden-)Zugriffen auf das Recht und prueft, ob die maximal erlaubte Anzahl erreicht/ueberschritten ist. |
boolean |
isDisposed()
Prueft, ob das Recht noch gueltig ist. |
void |
release()
Gibt das Recht auf. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Object owner
protected Accessible object
protected boolean disposed
public static final int UNLIMITED_ACCESSTIMES
protected int accessTimes
protected int maxAccessTimes
Constructor Detail |
---|
public Access(Accessible object, Object owner, int maxAccessTimes)
object
- Objekt auf das sich das Recht beziehtowner
- Besitzer des RechtsmaxAccessTimes
- Anzahl an (Methoden-)Zugriffen, die der Rechtebesitzer
taetigen darf, bevor das Recht automatisch entzogen wirdpublic Access(Accessible object, Object owner)
object
- Objekt auf das sich das Recht beziehtowner
- Besitzer des RechtsMethod Detail |
---|
public Object getOwner()
public boolean isDisposed()
public void checkDisposed()
AccessViolationException
, wenn das Zugriffsrecht
nicht mehr gueltig ist. Andernfalls passiert nichts.
public void dispose()
release()
.
public void release()
getOwner()
liefert im folgenden also
null
.
Accessible.releaseAccess(Access)
public boolean equals(Object access)
equals
in class Object
access
- Ein Zugriffsrechtpublic int getMaxAccessTimes()
UNLIMITED_ACCESSTIMES
public int getAccessTimes()
protected void incAndCheckMaxAccessTimesReached()
dispose()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |