All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.time4j.format.Leniency Maven / Gradle / Ivy

There is a newer version: 4.38
Show newest version
/*
 * -----------------------------------------------------------------------
 * Copyright © 2013-2016 Meno Hochschild, 
 * -----------------------------------------------------------------------
 * This file (Leniency.java) is part of project Time4J.
 *
 * Time4J is free software: You can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation, either version 2.1 of the License, or
 * (at your option) any later version.
 *
 * Time4J is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with Time4J. If not, see .
 * -----------------------------------------------------------------------
 */

package net.time4j.format;


/**
 * 

Defines how lenient parsing of chronological texts should be.

* * @author Meno Hochschild */ /*[deutsch] *

Nachsichtigkeitsmodus beim Parsen von Text zu chronologischen Typen.

* * @author Meno Hochschild */ public enum Leniency { //~ Statische Felder/Initialisierungen -------------------------------- /** *

Ensures that all range limits and other validity constraints will * be strictly controlled.

* *

Exceeding the possibly context-dependent range of an element value * will always throw an exception.

* *

A consistency check will be performed, too. That means all * parsed informations must be consistent (for example the right * weekday for a given calendar date). In parsing, the given limits * for minimum and maximum count of chars to be interpreted will * be checked, too.

*/ /*[deutsch] *

Stellt das strikte Einhalten von Wertbereichsgrenzen und anderen * Gültigkeitseinschränkungen sicher.

* *

Wertbereichsüberschreitungen werden immer mit einer Ausnahme * quittiert.

* *

Auch findet eine Konsistenzprüfung statt, die prüft, * daß alle gegebenen Informationen zueinander passen müssen * (z.B. der richtige Wochentag passend zu einem Datum). Beim Parsen werden * nur hier die angegebenen Grenzen für die minimale und die maximale * Anzahl von zu interpretierenden Zeichen genau geprüft.

*/ STRICT, /** *

This default mode tries to be a compromise between a pedantic * and a lax strategy by paying attention to value range constraints * but neglecting some constraints like the width of numerical * elements.

* *

There is no consistency check like in strict mode. For example * a wrong weekday will be ignored and the calendar date will just * be interpreted on the base of year, month and day of month.

*/ /*[deutsch] *

Mit dieser Standardvorgabe wird versucht, einen Mittelweg zwischen * einer pedantischen und laxen Strategie zu wählen, indem zwar auf * Wertbereichsüberschreitungen geachtet wird, aber bestimmte * Einstellungen wie die Breite von numerischen Elementen tolerant * gehandhabt werden.

* *

Eine Konsistenzprüfung wie im strikten Modus findet nicht * statt. So wird ein falscher Wochentag ignoriert und das Datum eher * auf Basis von Jahr, Monat und Tag des Monats interpretiert.

*/ SMART, /** *

The parsed data will be interpreted without any consistency * check or validation of range limits.

* *

This mode even tolerates values like the wall time "T25:00" * or the invalid calendar date "2014-02-31" which will be * interpreted with the suitable day overflow as "2014-03-03".

*/ /*[deutsch] *

Die Daten werden beim ersten passenden Treffer ohne weitere * Konsistenzprüfung interpretiert.

* *

Auch aus dem definierten Wertbereich fallende Werte wie die * Uhrzeit "T25:00:00" oder das Datum "2014-02-31" * werden akzeptiert und mit Überlauf uminterpretiert.

*/ LAX; //~ Methoden ---------------------------------------------------------- /** *

Is this leniency mode strict?

* * @return boolean */ /*[deutsch] *

Ist dieser Nachsichtigkeitsmodus strikt?

* * @return boolean */ public boolean isStrict() { return (this == STRICT); } /** *

Is this leniency mode smart?

* * @return boolean */ /*[deutsch] *

Ist dieser Nachsichtigkeitsmodus smart?

* * @return boolean */ public boolean isSmart() { return (this == SMART); } /** *

Is this leniency mode lax?

* * @return boolean */ /*[deutsch] *

Ist dieser Nachsichtigkeitsmodus lax?

* * @return boolean */ public boolean isLax() { return (this == LAX); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy