Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jsystems.framework.common
Class ViewItemValidator

    java.lang.Object
      de.jsystems.framework.common.ViewItemValidator

public abstract class ViewItemValidator
extends Object

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.

Version:
  1.0
  Copyright by Jens Homm 2001 - 2003
Author:
  Jens Homm JSYSTEMS
See Also:
  `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

### ViewItemValidator

    public ViewItemValidator()

  Erzeugt einen neuen ItemValidator.

Method Detail

### validateLogical

    public void validateLogical(BusinessView view,
                                MessageList ml)
                         throws GetItemMethodNotAllowedException,
                                ItemInvokeException,
                                WrongValueTypeException,
                                ValidateException

  Prueft die Eingaben in der Oberflaeche auf Typvertraeglichkeit zum zu fuellenden Item und auf in der Oberflaeche gefuellte Mussfelder. Diese Methode wird von der View aus der Methode `BusinessView.validateView(Item, MessageList)` bzw. aus der Methode `BusinessView.validateView(MessageList)` heraus aufgerufen.

  Parameters:
    `view` - Die View, deren Eingaben mit dem Item geprueft werden sollen.
    `ml` - Eine MessageList die mit allen bei der Pruefung auftretenden Fehlern gefuellt wird.
  Throws:
    `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.
  See Also:
    `BusinessView.castDynamicItemAttribut(DynamicItem, Object, String)`

### validate

    public abstract void validate(BusinessView view,
                                  MessageList ml)
                           throws ValidateException

  Diese Methode muss in konkreten Implementierungen des ItemValidators ueberschrieben werden. Hier passieren dann die fachlichen Pruefungen, ob die Eingaben in der Oberflaeche auch fachlich korrekt sind. Aufgerufen wird diese Methode von der Methode `validateLogical(BusinessView, MessageList)`.

  Parameters:
    `view` - Die View, deren Eingaben mit dem Item geprueft werden sollen.
    `ml` - Eine MessageList die mit allen bei der Pruefung auftretenden Fehlern gefuellt wird.
  Throws:
    `ValidateException` - wenn bei der Validierung ein Fehler auftritt.

### setItem

    public void setItem(Item item)
                 throws DeepCopyException

  Setzt das Item, mit dem die Eingabepruefung stattfinden soll. Gespeichert wird allerdings nicht das uebergebene Item, sondern lediglich eine Kopie. Die Kopie wird mit Hilfe der Methode `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.
  Die uebergebene View ist die View, deren Eingaben mit dem Item geprueft werden sollen.

  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.

  Parameters:
    `item` - Das Item mit dem die Oberflaecheneingaben geprueft werden sollen.
  Throws:
    `DeepCopyException` - wenn beim kopieren ein Fehler auftritt.
  See Also:
    `Item.deepCopy()`

### checkItemEntrys

    protected void checkItemEntrys(MessageList messageList)
                            throws GetItemMethodNotAllowedException,
                                   ItemInvokeException,
                                   WrongValueTypeException

  Prueft die Mussfelder im Item ab. Jedes Feld eines Items, das als Mussfeld regisitrert wurde, muss einen Wert enthalten. Als Wert nicht erlaubt ist NULL oder ein Leerstring, sofern es sich bei dem Typ des Attributes um einen String handelt. Alle aufgetretenen Validierungsfehler werden in der uebergebenen MessageList protokolliert. Eine fachliche Pruefung findet hier nicht statt, dafuer ist die Methode `validate(BusinessView, MessageList)` da.

  Parameters:
    `messageList` - MessageList zum sammeln aller aufgetretenen Fehlermeldungen.
  Throws:
    `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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD