|
Roblet®-Development-Kit 2.1 (01Mrz12) API für Module |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Registry
Eine Instanz diesen Typs verwaltet alle Besitzrechte eines Moduls und den Einheitenbesitz eines jeden Roblets® in Hinsicht auf dieses Modul und fungiert daher als eine Art Grundbuch. Jedes Modul hat nur eine Ableitung diesen Typs mit einer Instanz.
Roblets® kommen mit Besitzrechten niemals direkt in Verbindung, sondern nur mit Rechten an Einheiten. Eine Einheit kann für ihre Arbeit verschiedene Ressourcen benötigen. Diese Ressourcen werden dann gegebenenfalls der Einheit dadurch verbrieft, dass sie dem Roblet® (vertreten durch das Fach, in dem es läuft) verbrieft wird.
Einheiten vollziehen jegliche Aktivitäten nur nach Aufruf durch ein Roblet®. Insbesondere führen Einheiten mit Besitzrechten verbundene Aktivitäten nur dann aus, wenn das aufrufende Roblet® die aufgerufene Einheit besitzt (Einheitenbesitz).
Wird somit der Besitz einer Einheit von einem Roblet® angefordert, so müssen alle damit verknüpften Besitzrechte (an Ressourcen) verfügbar sein oder verfügbar gemacht werden. Den Zusammenhang zwischen Roblet® und Besitzrechten stellt das Grundbuch dabei über das Fach her, in dem das Roblet® läuft.
Roblet
,
Slot
,
Unit
,
Module
Method Summary | |
---|---|
boolean |
claim(Slot rSlot,
Unit rUnit)
Deprecated. Bittet das Grundbuch, dem Roblet® (vertreten durch das angegebene Fach) die angegebene Einheit als Besitz einzutragen. |
Slot |
force(Slot rSlot,
Unit rUnit)
Deprecated. Zwingt das Grundbuch, dem Roblet® (vertreten durch das angegebene Fach) die angegebene Einheit als Besitz einzutragen, sofern grundsätzlich möglich. |
void |
free(Slot rSlot)
Deprecated. Trägt für ein Roblet® (vertreten durch das angegebene Fach) sämtlichen Besitz an Einheit aus dem Grundbuch aus. |
void |
free(Slot rSlot,
Unit rUnit)
Deprecated. Trägt für ein Roblet® (vertreten durch das angegebene Fach) den möglichen Besitz der angegebenen Einheit aus dem Grundbuch aus. |
Method Detail |
---|
boolean claim(Slot rSlot, Unit rUnit)
Besitzt kein anderes Roblet® diese Einheit (und die damit verknüpften Besitzrechte an Ressourcen), so erfolgt die Eintragung und diese Methode gibt true zurück. Ebenso wird true zurückgegeben, wenn das Roblet® die Einheit besitzt.
Benötigt die betreffende Einheit keine Besitzrechte an Ressourcen oder wird von dem Module gar nicht verwaltet, so gibt diese Methode false zurück und nimmt entsprechend keinerlei Eintragung vor.
Achtung:
Wird das Grundbuchkonzept nicht benutzt, so muß diese Methode
false zurückliefern oder einfacher noch
Module.getRegistry()
sollte null zurückliefern.
rSlot
- Fach mit dem anfragenden Roblet®rUnit
- Instanz der Einheit, die in Besitz kommen soll
true
, wenn das Roblet nun Besitzer der
Einheit ist oder bereits warforce(Slot,Unit)
,
free(Slot,Unit)
Slot force(Slot rSlot, Unit rUnit)
War bisher ein anderes Roblet® der Besitzer, so wird stellvertretend dessen Fach zurückgegeben. Ansonsten ist der Rückgabewert null.
Benötigt die betreffende Einheit keine Besitzrechte an Ressourcen oder wird von dem Module gar nicht verwaltet, so gibt diese Methode null zurück und nimmt entsprechend keinerlei Eintragung vor.
Achtung:
Wird das Grundbuchkonzept nicht benutzt, so muß diese Methode
null zurückliefern oder einfacher noch
Module.getRegistry()
sollte null zurückliefern.
rSlot
- Fach mit dem fordernden Roblet®rUnit
- Instanz der Einheit, die in Besitz kommen wird
claim(Slot,Unit)
,
free(Slot,Unit)
void free(Slot rSlot, Unit rUnit)
Ist das Roblet® vor dem Aufruf dieser Methode der Besitzer der Einheit, so ist nach dem Aufruf kein Roblet® mehr Besitzer dieser Einheit.
Ist das Roblet® vor dem Aufruf dieser Methode nicht der Besitzer der Einheit, so bleiben die Besitzverhältnisse bestehen, d.h. ein anderes Roblet® bleibt Besitzer oder kein Roblet® ist Besitzer.
Achtung:
Wird das Grundbuchkonzept nicht benutzt, so darf diese Methode
nichts tun oder einfacher noch
Module.getRegistry()
sollte null zurückliefern.
rSlot
- Fach mit dem freigebenden Roblet®rUnit
- Instanz der Einheit, die freigegeben werden sollclaim(Slot,Unit)
,
force(Slot,Unit)
,
free(Slot)
void free(Slot rSlot)
Achtung:
Wird das Grundbuchkonzept nicht benutzt, so darf diese Methode
nichts tun oder einfacher noch
Module.getRegistry()
sollte null zurückliefern.
rSlot
- Fach mit dem freigebenden Roblet®free(Slot,Unit)
|
Roblet®-Development-Kit 2.1 (01Mrz12) API für Module |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |