|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.basecmp.core.usecase.CommonUsecaseContext
Technologie-unabhängige Basis-Implementierung vom Interface UsecaseContext. Unterstützt keine Scopes!
Created on 13.09.2003
| Field Summary | |
protected java.util.Map |
arguments
|
protected java.util.Map |
attributes
|
protected UsecaseCallStack |
callStack
|
protected java.lang.Integer |
currentStepId
|
protected int |
currentUnlockKey
|
protected boolean |
errorFlag
|
protected java.lang.Integer |
lastStepId
|
protected int |
lastStepResult
|
protected boolean |
locked
|
| Fields inherited from interface com.basecmp.core.usecase.UsecaseContext |
RESULT_ERROR, RESULT_NEXT |
| Constructor Summary | |
CommonUsecaseContext(UsecaseCallStack stack)
Standard-Konstruktor. |
|
| Method Summary | |
void |
addArgument(java.lang.String key,
java.lang.Object value)
|
void |
addArguments(java.lang.String key,
java.lang.Object[] values)
|
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 sich selbst zurück. |
java.lang.String |
getHeader(java.lang.String headerName)
Liefert statisch null, da CommonUsecaseContext technologie-unabhängig ist! |
java.lang.String |
getHost()
Liefert statisch null, da CommonUsecaseContext technologie-unabhängig ist! |
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 statisch null, da CommonUsecaseContext technologie-unabhängig ist! |
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 |
isLocked()
Liefert den Zustand, ob der Context gesperrt ist zurück. |
boolean |
isUserInRole(java.lang.String roleName)
Liefert statisch false, da CommonUsecaseContext technologie-unabhängig ist! |
int |
lock()
Sperrt den Zugriff für alle anderen Steps, solange der sperrende Step nicht ein Ergebnis gesetzt hat. |
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 |
setArgument(java.lang.String key,
java.lang.Object value)
|
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)
Leere Implementierung ohne jegliche Funktion, da CommonUsecaseContext technologie-unabhängig ist! |
void |
setStepResult(java.lang.Integer stepId,
int stepResult,
int unlockKey)
Speichert das Ergebnis eines Jobs. |
void |
unlock(int unlockKey)
Entriegelt den UsecaseContext wieder für allgemeinen Schreibzugriff. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected java.util.Map arguments
protected java.util.Map attributes
protected UsecaseCallStack callStack
protected java.lang.Integer currentStepId
protected int currentUnlockKey
protected boolean errorFlag
protected java.lang.Integer lastStepId
protected int lastStepResult
protected boolean locked
| Constructor Detail |
public CommonUsecaseContext(UsecaseCallStack stack)
Ableitungen von CommonUsecaseContext sollten diese Konstruktor-Signatur als private deklarieren und müssen diesen als Super-Konstruktor intern aufrufen. Der abgeleitete UsecaseContext sollte in seiner Konstuktor-Signatur zusätzlich zum UsecaseCallStack ein technologie-abhängiges Datenobjekt entgegennehmen und als sogenannten Delegate intern speichern. ServletRequestUsecaseContext ist eine solche Ableitung und kann als Beispiel dienen.
Ableitungen von CommonUsecaseContext überschreiben normalerweise mehrere
oder ggf alle Methoden der folgenden Liste:
Da CommonUsecaseContext nur eine Basis-Implementierung darstellt, werden die Konzepte User, Rollen und Hostdaten nur mit statischen Rückgabewerten implementiert! Anders gesagt bietet CommonUsecaseContext KEINE verwendungfähige Eigenimplementierung dieser Konzepte, da diese Konzepte für sich genommen schon technologie-abhängig sind und CommonUsecaseContext unabhängig davon funktionieren soll!
ServletRequestUsecaseContext,
UsecaseCallStack| Method Detail |
public void addArgument(java.lang.String key,
java.lang.Object value)
public void addArguments(java.lang.String key,
java.lang.Object[] values)
public boolean containsKey(java.lang.String key)
UsecaseContext
containsKey in interface UsecaseContextkey -
public java.lang.Object findAttribute(java.lang.String key)
UsecaseContextLiefert null, wenn kein Attribut unter dem angegebenen Namen in allen Scopes existiert!
findAttribute in interface UsecaseContextkey -
public java.lang.Object getArgument(java.lang.String key)
UsecaseContextEine benutzbare Grundimplementierung steht mit der Klasse CommonUsecaseContext zur Verfügung, welche sowohl direkt benutzt werden kann, als auch abgeleitet werden kann für Eigenimplementierungen.
getArgument in interface UsecaseContextkey - public java.lang.Object[] getArgumentArray(java.lang.String key)
getArgumentArray in interface UsecaseContextpublic java.lang.String getArgumentAsString(java.lang.String key)
UsecaseContext
getArgumentAsString in interface UsecaseContextkey - public java.util.Map getArgumentMap()
UsecaseContext
getArgumentMap in interface UsecaseContextpublic java.util.Iterator getArgumentNames()
UsecaseContext
getArgumentNames in interface UsecaseContextpublic java.util.List getArgumentValues(java.lang.String key)
UsecaseContext
getArgumentValues in interface UsecaseContextkey - public java.lang.Object getAttribute(java.lang.String key)
UsecaseContextLiefert null, wenn kein Attribut und kein Argument unter dem angegebenen Namen existiert!
getAttribute in interface UsecaseContextkey -
public java.lang.Object getAttribute(java.lang.String key,
int scope)
UsecaseContextLiefert null, wenn kein Attribut unter dem angegebenen Namen/Scope existiert!
getAttribute in interface UsecaseContextkey - scope -
public java.lang.Object[] getAttributeArray(java.lang.String key)
getAttributeArray in interface UsecaseContextpublic java.util.Iterator getAttributeNames()
UsecaseContext
getAttributeNames in interface UsecaseContextpublic UsecaseCallStack getCallStack()
UsecaseContext
getCallStack in interface UsecaseContextpublic java.lang.Object getContext()
getContext in interface UsecaseContextpublic java.lang.String getHeader(java.lang.String headerName)
getHeader in interface UsecaseContextpublic java.lang.String getHost()
getHost in interface UsecaseContextpublic java.lang.Integer getLastStepId()
UsecaseContext
getLastStepId in interface UsecaseContextpublic int getLastStepResult()
UsecaseContext
getLastStepResult in interface UsecaseContextpublic java.lang.String getUsecaseName()
UsecaseContext
getUsecaseName in interface UsecaseContextpublic java.lang.String getUser()
getUser in interface UsecaseContextpublic void initiateErrorUsecase()
UsecaseContext
initiateErrorUsecase in interface UsecaseContextpublic boolean isErrorUsecaseInitiated()
UsecaseContext
isErrorUsecaseInitiated in interface UsecaseContextpublic boolean isLocked()
UsecaseContext
isLocked in interface UsecaseContextpublic boolean isUserInRole(java.lang.String roleName)
isUserInRole in interface UsecaseContextpublic int lock()
UsecaseContext
lock in interface UsecaseContextpublic void removeAttribute(java.lang.String key)
UsecaseContext
removeAttribute in interface UsecaseContext
public void removeAttribute(java.lang.String key,
int scope)
UsecaseContext
removeAttribute in interface UsecaseContextpublic void resetErrorUsecaseFlag()
UsecaseContext
resetErrorUsecaseFlag in interface UsecaseContext
public void setArgument(java.lang.String key,
java.lang.Object value)
public void setAttribute(java.lang.String key,
java.lang.Object value)
UsecaseContext
setAttribute in interface UsecaseContextkey -
public void setAttribute(java.lang.String key,
java.lang.Object value,
int scope)
UsecaseContext
setAttribute in interface UsecaseContextpublic void setContext(java.lang.Object context)
setContext in interface UsecaseContext
public void setStepResult(java.lang.Integer stepId,
int stepResult,
int unlockKey)
throws UsecaseStepExecutionException
UsecaseContextHintergrund dieser Methode ist die Notwendigkeit der Threadsicherheit von Usecases.
setStepResult in interface UsecaseContextstepId - stepResult - unlockKey -
UsecaseStepExecutionExceptionpublic void unlock(int unlockKey)
UsecaseContext
unlock in interface UsecaseContextunlockKey -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||