|
Roblet®- Bibliothek 2.3 (10Jan10) |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Diese Schnittstelle charakterisiert Roblet®-Klassen. Instanzen einer solchen Klasse können einem Roblet®-Server übergeben und von ihm zum Laufen gebracht werden.
Hier ein Beispiel für eine Roblet®-Klasse:
(Da Roblets® meist über ein Netzwerk übertragen werden, muß zusätzlich zu der hier beschriebenen Schnittstelle normalerweise nochpublic class MyRoblet implements org.roblet.Roblet , java.io.Serializable { public Object execute (org.roblet.Robot robot) { Object result = null; // ... return result; } // ... }
Serializable
implementiert werden.)
Roblet®-Klassen implementieren die hier beschriebene Schnittstelle (s. obiges Beispiel).
Roblet®-Instanzen werden in einer Anwendung zur Laufzeit erzeugt:
Die in einem Roblet®-Server laufenden Instanzen werden schließlich nur mit Roblet® bezeichnet.MyRoblet myRoblet = new MyRoblet (); // ...
Der Grund für eine Unterscheidung zwischen Roblet®-Instanz und (laufendem) Roblet® ist die Tatsache, daß eine Roblet®-Instanz beliebig oft verschickt und damit beliebig oft zum Laufen gebracht werden kann. D.h. von einer Roblet®-Klasse können mehrere Roblet®-Instanzen und von diesen jeweils mehrere Roblets® erzeugt werden.
execute(Robot)
,
Robot
Method Summary | |
Object |
execute(Robot robot)
Ein Roblet® wird vom Roblet®-Server durch Aufruf dieser Methode laufengelassen - quasi zum Leben erweckt. |
Method Detail |
public Object execute(Robot robot) throws Exception
Runnable
aus der Java™-Standard-Bibliothek.
Der Parameter Robot
ist der Schlüssel zum Roblet®-Server
(ursprünglich ein Roboter).
Diese übergebene Instanz kann benutzt werden, um festzustellen,
ob der Server gewünschte Einheiten (Unit
) bereitstellt.
Sie ist niemals null.
Es kann die Instanz einer beliebigen Klasse zurückgeben werden. Dazu gehören auch Felder eines beliebigen Klassentyps (z.B. String[]).
Der Roblet®-Server gibt die jeweilige Instanz an die aufrufende
Anwendung zurück.
Dabei ist zu beachten, daß es sich beim Arbeiten im Netz um
serialisierbare (vgl. Serializable
) Klassen handeln
muß.
Es gilt, daß Felder serialisierbarer Klassen serialisierbar sind.
Da der Entwickler weiß, welchen Typ seine zurückgegebene Instanz zur Laufzeit haben wird, kann man auch den entsprechenden cast-Operator "(Klassentyp)" auf Anwendungsseiten auf den Rückgabewert anwenden. Natürlich ist auch eine Rückgabe von null möglich. null läßt sich notfalls auf jeden Typ wandeln (cast).
Das ausgeführte Roblet® braucht Ausnahmen, die vom Typ
Exception
abgeleitet sind, nicht
abzufangen.
Die jeweilige Ausnahme wird auf Seiten der Anwendung ebenso als
Ausnahme geworfen und kann dort abgefangen werden.
robot
- Erlaubt Zugriff auf die Einheiten des
unterliegenden Roboters;
stets ungleich null
Exception
- Beliebige Ausnahme
|
Roblet®-Bibliothek 2.3 (10Jan10) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |