|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Ein UsecaseContext dient als gemeinsamer Daten-Container, der von den einzelnen Schritten (UsecaseStep) eines Usecase benutzt werden kann, um Datenobjekte jedweder Art daraus zu lesen oder darin abzulegen. Er wird außerdem dazu benutzt, Laufzeit-Verwaltungsinformationen darin zu speichern.
Vom Aspekt der Einsatzumgebung (Http-Request, Webservice, lokal) gesehen, dient UsecaseContext vor allem als Abstraktionsschicht, um die Business-Logik eines Usecase von der eingesetzten User-Interface-Technologie zu entkoppeln. Durch den Interface-Character ist ein UsecaseContext gegenüber der eingesetzen Umgebung eine "Daten-Durchreiche" mit genormten Zugriff, gleichgültig, welche Technologie verwendet wird.
Die Klasse CommonUsecaseContext liefert eine vollständige Implementierung von UsecaseContext. Konkrete Implementierungen können von CommonUsecaseContext ableiten und sollten alle Methoden überschreiben, die Abhängigkeiten zur eingesetzten Technologie haben, bzw nur als "Daten-Durchreiche" dienen (Delegate-Pattern).
UsecaseContext führt folgende Begriffe ein:
UsecaseMgr,
UsecaseStep,
CommonUsecaseContext| Field Summary | |
static int |
RESULT_ERROR
Symbolischer Wert für einen fehlerhaft beendeten Step-Result. |
static int |
RESULT_NEXT
Symbolischer Wert für einen normal beendeten Step-Result. |
| Method Summary | |
boolean |
containsKey(java.lang.String key)
Liefert true, wenn im UsecaseContext ein Attribute oder ein Argument unter dem angegebenen Key vorhanden ist. |
java.lang.Object |
findAttribute(java.lang.String key)
Suche das Objekt in allen zur Verfügung stehenden Scope aus dem UsecaseContext. |
java.lang.Object |
getArgument(java.lang.String key)
Liefert das (unmanipulierbare) Start-Argument des Usecase. |
java.lang.Object[] |
getArgumentArray(java.lang.String key)
|
java.lang.String |
getArgumentAsString(java.lang.String key)
Liefert eine String-Repräsentation des Argument-Objektes der Hauptfunktion getArgument(key). |
java.util.Map |
getArgumentMap()
Liefert ein Map-Objekt mit allen Start-Argumenten des Usecase. |
java.util.Iterator |
getArgumentNames()
Liefert einen Iterator über alle vorhandenen Argument-Namen. |
java.util.List |
getArgumentValues(java.lang.String key)
Liefert eine ArrayList-Repräsentation des Argument-Objektes der Hauptfunktion getArgument(key). |
java.lang.Object |
getAttribute(java.lang.String key)
Liefert das (zuvor gespeicherte) Objekt aus dem UsecaseContext. |
java.lang.Object |
getAttribute(java.lang.String key,
int scope)
Liefert das Objekt mit dem angegebenen Scope aus dem UsecaseContext. |
java.lang.Object[] |
getAttributeArray(java.lang.String key)
|
java.util.Iterator |
getAttributeNames()
Liefert einen Iterator über alle vorhandenen Attribute-Namen. |
UsecaseCallStack |
getCallStack()
Liefert den zum UsecaseContext gehörigen, eindeutigen Callstack. |
java.lang.Object |
getContext()
Liefert das zugrunde liegende Kontextobjekt. |
java.lang.String |
getHeader(java.lang.String headerName)
Liefert den Remote Header des Contextes. |
java.lang.String |
getHost()
Liefert den Remote Host, der den Usecase aufgerufen hat. |
java.lang.Integer |
getLastStepId()
Liefert die Step-Id des zuletzt ausgeführten Steps |
int |
getLastStepResult()
Liefert das Ergebnis des zuletzt ausgeführten Steps |
java.lang.String |
getUsecaseName()
Liefert den Namen des aktuell laufenden Usecase. |
java.lang.String |
getUser()
Liefert den Loginnamen des Users, der den Usecase aufgerufen hat. |
void |
initiateErrorUsecase()
Stetzt im UsecaseContext ein Flag um zu signalisieren, das der als nächster Step der Fehler-Usecase gestartet werden muss. |
boolean |
isErrorUsecaseInitiated()
Gibt den Zustand des Flag wieder. |
boolean |
isUserInRole(java.lang.String roleName)
Liefert true, wenn der authentifizierte User Inhaber der angegebenen Rolle ist. |
void |
removeAttribute(java.lang.String key)
Löscht das Object aus dem UsecaseContext |
void |
removeAttribute(java.lang.String key,
int scope)
Löscht das Objekt mit dem angegebenen Scope aus dem UsecaseContext. |
void |
resetErrorUsecaseFlag()
Setzt das Flag zurück. |
void |
setAttribute(java.lang.String key,
java.lang.Object value)
Speichert das Objekt im UsecaseContext. |
void |
setAttribute(java.lang.String key,
java.lang.Object value,
int scope)
Setzt das Objekt in dem angegebenen Scope im UsecaseContext. |
void |
setContext(java.lang.Object context)
Bietet die Möglichkeit, das zugrunde liegende Kontextobjekt gegen ein neues auszutauschen. |
| Field Detail |
public static final int RESULT_ERROR
public static final int RESULT_NEXT
| Method Detail |
public boolean containsKey(java.lang.String key)
key -
public java.lang.Object findAttribute(java.lang.String key)
Liefert null, wenn kein Attribut unter dem angegebenen Namen in allen Scopes existiert!
key -
public java.lang.Object getArgument(java.lang.String key)
Eine benutzbare Grundimplementierung steht mit der Klasse CommonUsecaseContext zur Verfügung, welche sowohl direkt benutzt werden kann, als auch abgeleitet werden kann für Eigenimplementierungen.
key - public java.lang.Object[] getArgumentArray(java.lang.String key)
public java.lang.String getArgumentAsString(java.lang.String key)
key - public java.util.Map getArgumentMap()
public java.util.Iterator getArgumentNames()
public java.util.List getArgumentValues(java.lang.String key)
key - public java.lang.Object getAttribute(java.lang.String key)
Liefert null, wenn kein Attribut und kein Argument unter dem angegebenen Namen existiert!
key -
public java.lang.Object getAttribute(java.lang.String key,
int scope)
Liefert null, wenn kein Attribut unter dem angegebenen Namen/Scope existiert!
key - scope -
public java.lang.Object[] getAttributeArray(java.lang.String key)
public java.util.Iterator getAttributeNames()
public UsecaseCallStack getCallStack()
public java.lang.Object getContext()
public java.lang.String getHeader(java.lang.String headerName)
public java.lang.String getHost()
public java.lang.Integer getLastStepId()
public int getLastStepResult()
public java.lang.String getUsecaseName()
public java.lang.String getUser()
public void initiateErrorUsecase()
public boolean isErrorUsecaseInitiated()
public boolean isUserInRole(java.lang.String roleName)
public void removeAttribute(java.lang.String key)
public void removeAttribute(java.lang.String key,
int scope)
public void resetErrorUsecaseFlag()
public void setAttribute(java.lang.String key,
java.lang.Object value)
key -
public void setAttribute(java.lang.String key,
java.lang.Object value,
int scope)
public void setContext(java.lang.Object context)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||