|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.basecmp.core.usecase.UsecaseMgr
Zentrale, rein statische Service-Klasse, die über die Haupt-Methode executeStep(UsecaseContext) einen Step eines Usecase (definiert über das Kontext-Objekt) ausführt.
Alle anderen Methoden sind intern oder Verwaltungsmethoden.
UsecaseMgr ruft vor der ersten Benutzung loadStepList() und loadUsecaseList() auf. Darüber werden alle im System definierten Usecases und Steps registriert, instanziert und gecacht! Ein Flush des Cache kann durch Aufruf von loadStepList() und/oder loadUsecaseList() erzielt werden.
Created on 28.10.2003
| Method Summary | |
static boolean |
executeStep(UsecaseContext uc)
Führt für den angeforderten Usecase den nächsten Step aus. |
static void |
executeUsecase(UsecaseContext uc,
java.lang.String usecaseName,
java.lang.String startNode)
|
static UsecaseMetaData |
getUsecaseMetaData(java.lang.String usecaseName)
|
protected static UsecaseStep |
getUsecaseStep(com.basecmp.core.usecase.xml.Step step)
Package-interne Factory-Methode zum instanzieren eines UsecaseStep des angegebenen Alias-Stepnamen. |
static void |
loadStepListFromXML()
Liest die UsecaseSteps aus der XML-Configuration neu und registriert alle darin enthaltenen UsecaseStep-Klassen in einer internen Map unter dem in der jeweiligen Property-Datei angegebenen Alias-Namen. |
static void |
loadUsecaseListFromConfigXML()
Liest die Usecases aus der XML-Configuration neu und initialisiert die Usecases unter Zuhilfenahme von UsecaseMetaData. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
public static boolean executeStep(UsecaseContext uc)
uc -
NullpointerException - Wenn der Step eines Usecase mit null initialisiert wurde.
UsecaseStepExecutionException - Wenn vor dem Verlassen des Step der UsecaseContext nicht
ordnungsgemäß upgedatet wurde. Wenn der Usecase nicht
ordnungsgemäß registriert wurde.
public static void executeUsecase(UsecaseContext uc,
java.lang.String usecaseName,
java.lang.String startNode)
throws UsecaseTimeoutExceededException
UsecaseTimeoutExceededExceptionpublic static UsecaseMetaData getUsecaseMetaData(java.lang.String usecaseName)
protected static UsecaseStep getUsecaseStep(com.basecmp.core.usecase.xml.Step step)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.ClassNotFoundException
Initialisiert den Step mit der angegebenen Id und liefert die fertig initaliserte UsecaseStep-Instanz zurück.
Liefert null, wenn kein Step unter dem Alias-Namen registriert ist. Wird von der Implementierungs-Klasse UsecaseMetaDataImpl benutzt.
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.ClassNotFoundExceptionpublic static void loadStepListFromXML()
Doppelt vorkommende Alias-Namen werden nicht als solche erkannt. Somit
werden die damit assoziierten UsecaseKlassen durch die jeweils aktuelle
(Re-)Definition ersetzt. Die Step-Property-Dateien werden in der
Reihenfolge geladen und bearbeitet, wie sie in "steps.packages" angegeben
wurden. Da die in der Resource-Datei enthaltenen Keys werden über getKeys()
abgearbeitet werden, bestimmt die Implementierung von ResourceBundle die
Reihenfolge der darin enthaltenen Keys und kann nicht garantiert werden.
Daher sollten entwickler sich an folgende Regeln halten:
public static void loadUsecaseListFromConfigXML()
Wird vom statischen Konstruktor aufgerufen!
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||