3.5.2. Message Type

Die Enum org.jowidgets.validation.MessageType liefert die möglichen Message Typen. Diese werden in der folgenden Tabelle dargestellt:

Type Valid
OK yes
INFO yes
WARNING yes
INFO_ERROR no
ERROR no

Die Message Typen sind nach ihrem Schweregrad (Severity) sortiert, wobei Error der schwerste Fehler ist. In der Spalte Valid wird angegeben, ob der validierte Wert als valide einstuft wird. Valide Werte können weiter verarbeitet werden, zum Beispiel indem sie in die Datenbank geschrieben, oder für eine andersartige Transaktion verwendet werden. Nicht valide Werte sind abzulehnen.

Es folgt eine kurze Beschreibung der Semantik der einzelnen Message Typen:

Die Typen INFO und INFO_ERROR wurden Aufgrund von Kundenfeedback eingeführt. So wollten Kunden neben negativen auch positives Feedback beim Ausfüllen einer Maske haben, um sich bestätigt zu fühlen, alles richtig gemacht zu haben. Des Weiteren wurde bemängelt, dass eine Maske zum Erzeugen eines Datensatzes mit Pflichtfeldern bereits beim Öffnen mit etlichen Fehlern angezeigt wurde, obwohl man offensichtlich doch noch gar nichts falsch gemacht habe. Meldungen vom Typ INFO_ERROR enthalten daher eher Information, was zu tun ist, damit es richtig wird und werden in der Regel (konfigurierbar) nicht mit roter Farbe angezeigt. Meldungen von Typ ERROR geben eher an, was falsch ist. Ein gutes Beispiel für einen schlechten ERROR Text wäre: Geben sie einen gültigen Wert ein, besser wäre Es sind nicht mehr als 20 Zeichen erlaubt.

Die Existenz der Fehlertypen bedeutet nicht, dass auch allen Typen Verwendung finden müssen. Für einige Anwendungsfälle reicht eventuell OK==richtig und ERROR==falsch aus.

Der Valid Status

Die Enum MessageType bietet folgende Methode, um zu prüfen, ob der Typ zur Klasse der validen Messages gehört oder nicht.

    public boolean isValid() {...}

Die Werte werden anhand der oben angezeigten Tabelle zurückgegeben.

Vergleichsmethoden der Enum MessageType

Die Enum MessageType bietet folgende Methoden, um den Schweregrad (Severity) zweier Message Types zu vergleichen.

    public boolean equalOrWorse(final MessageType messageType) {...}

    public boolean worse(final MessageType messageType) {...}

Die Methode equalOrWorse liefert true zurück, falls der MessageType die gleiche oder eine höhere Severity hat, als der übergebene. Die Methode worse() liefert true zurück, falls der MessageType eine höhere Severity hat, als der übergebene.

Beispiel:

    System.out.println(MessageType.ERROR.equalOrWorse(MessageType.WARNING));
    System.out.println(MessageType.WARNING.equalOrWorse(MessageType.ERROR));

Ergebnis:

    true
    false

Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation