|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jsystems.framework.common.ViewItemValidator
Diese Klasse uebernimmt die Validierung der Eingaben in einer Oberflaeche.
Da Objekte in Java generell als Referenz uebergeben werden, steht sonst jede
Aenderung aus der Oberflaeche sofort im zugehoerigen Model (bzw. im Item) drin.
Deshalb wird hier das Item kopiert und erst diese Kopie mit den Werten aus
der Oberflaeche gefuellt. Dabei findet schon die erste Pruefung statt auf
Mussfelder und Datentypvertraeglichkeit. Fuer die eigentliche fachliche
Pruefung muss dann die Methode validate(BusinessView, MessageList)
ueberschrieben werden.
Benutzt wird hier die Methode Item.deepCopy()
des Items um eine Kopie des Items zu erzeugen. Erst mit dieser Kopie findet
dann die Pruefung der Eingaben statt.
BusinessView
,
BusinessModel
,
Item
Constructor Summary | |
ViewItemValidator()
Erzeugt einen neuen ItemValidator. |
Method Summary | |
protected void |
checkItemEntrys(MessageList messageList)
Prueft die Mussfelder im Item ab. |
void |
setItem(Item item)
Setzt das Item, mit dem die Eingabepruefung stattfinden soll. |
abstract void |
validate(BusinessView view,
MessageList ml)
Diese Methode muss in konkreten Implementierungen des ItemValidators ueberschrieben werden. |
void |
validateLogical(BusinessView view,
MessageList ml)
Prueft die Eingaben in der Oberflaeche auf Typvertraeglichkeit zum zu fuellenden Item und auf in der Oberflaeche gefuellte Mussfelder. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ViewItemValidator()
Method Detail |
public void validateLogical(BusinessView view, MessageList ml) throws GetItemMethodNotAllowedException, ItemInvokeException, WrongValueTypeException, ValidateException
BusinessView.validateView(Item, MessageList)
bzw. aus der Methode
BusinessView.validateView(MessageList)
heraus aufgerufen.
view
- Die View, deren Eingaben mit dem Item geprueft werden sollen.ml
- Eine MessageList die mit allen bei der Pruefung auftretenden
Fehlern gefuellt wird.
GetItemMethodNotAllowedException
- wenn beim auslesen der Methoden im
Item ein Fehler aufgetreten ist.
ItemInvokeException
- Wenn beim Aufruf einer get-Methode im Item ein
Fehler aufgetreten ist.
WrongValueTypeException
- Wenn die Eingabe in der Oberflaeche sich
nicht in den passenden Typ im DynamicItem
casten laesst.
ValidateException
- wenn bei der Validierung ein Fehler auftritt.BusinessView.castDynamicItemAttribut(DynamicItem, Object, String)
public abstract void validate(BusinessView view, MessageList ml) throws ValidateException
validateLogical(BusinessView, MessageList)
.
view
- Die View, deren Eingaben mit dem Item geprueft werden sollen.ml
- Eine MessageList die mit allen bei der Pruefung auftretenden
Fehlern gefuellt wird.
ValidateException
- wenn bei der Validierung ein Fehler auftritt.public void setItem(Item item) throws DeepCopyException
Item.deepCopy()
im Item angelegt. Somit ist sichergestellt, das es sich um eine 'deepCopy'
handelt und durch die Pruefung noch keine Aenderung in der fachlichen Welt
stattfindet.
Daher steht auch nach der Validierung die Eingabe der Oberflaeche noch nicht
im uebergebenen Item. Dazu muss dann die Methode
BusinessView.getData(Item)
in der
BusinessView aufgerufen werden.
Das uebergebene Item darf nicht NULL sein, andernfalls wird eine
IllegalArgumentException
ausgeloest.
item
- Das Item mit dem die Oberflaecheneingaben geprueft werden sollen.
DeepCopyException
- wenn beim kopieren ein Fehler auftritt.Item.deepCopy()
protected void checkItemEntrys(MessageList messageList) throws GetItemMethodNotAllowedException, ItemInvokeException, WrongValueTypeException
validate(BusinessView, MessageList)
da.
messageList
- MessageList zum sammeln aller aufgetretenen Fehlermeldungen.
GetItemMethodNotAllowedException
- wenn beim auslesen der Methoden im
Item ein Fehler aufgetreten ist.
ItemInvokeException
- Wenn beim Aufruf einer get-Methode im Item ein
Fehler aufgetreten ist.
WrongValueTypeException
- Wenn die Eingabe in der Oberflaeche sich
nicht in den passenden Typ im DynamicItem
casten laesst.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |