Class ArgumentList.Argument
- Enclosing class:
- ArgumentList
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionlong
Interpretiert den Wert des Arguments als absolute Zeitangabe.long
Interpretiert das Aufrufargument als eine Datenmenge, Beispielsweise würde "-test=10M" 10 Megabytes entsprechen.Gibt den Wert des Arguments als Datei-Identifikation einer änderbaren Datei zurück.asChangeableFile
(boolean createIfNotExistent) Gibt den Wert des Arguments als Datei-Identifikation einer änderbaren Datei zurück.Gibt den Wert des Arguments als Datei-Identifikation eines Dateiverzeichnisses zurück.Interpretiert den Wert des Arguments als Zeitdauer (KlasseDuration
.<E> E
Bestimmt den Wert des Arguments als Enum-Konstante.Gibt den Wert des Arguments als Datei-Identifikation einer existierenden Datei zurück.asFile()
Gibt den Wert des Arguments als Datei-Identifikation zurück.Gibt die angegebene Datum+Uhrzeit alsInstant
zurück (in der lokalen Standardzeitzone).Gibt das angegebene Datum zurück, im Format dd.MM.yyyy.Ermittelt ein Datum alsLocalDateTime
.Gibt die angegebene Zeit zurück, im Format HH:mm:ss,SSS.Bestimmt den Wert des Arguments als nicht leere Zeichenkette.asPath()
Gibt den Wert des Arguments als Datei-Identifikation zurück.Gibt den Wert des Arguments als Datei-Identifikation einer lesbaren Datei zurück.long
Interpretiert den Wert des Arguments als relative Zeitangabe.Gibt den Wert dieses Arguments als Wert einer SI-Einheit zurück.asString()
Bestimmt den Wert des Arguments als Zeichenkette.long
asTime()
Interpretiert den Wert des Arguments als Zeitangabe.asValueCase
(ArgumentList.ValueSelection validValues) Gibt den Wert des Arguments als Datei-Identifikation einer beschreibaren Datei zurück.asWritableFile
(boolean createIfNotExistent) Gibt den Wert des Arguments als Datei-Identifikation einer beschreibaren Datei zurück.boolean
Gibt den Wert des Arguments alsboolean
Wert zurück.byte
Gibt den Wert des Arguments alsbyte
Wert zurück.byte
byteValueBetween
(byte minimum, byte maximum) Gibt den Wert des Arguments alsbyte
Wert zurück.double
Gibt den Wert des Arguments alsdouble
Wert zurück.double
doubleValueBetween
(double minimum, double maximum) Gibt den Wert des Arguments alsdouble
Wert zurück.float
Gibt den Wert des Arguments alsfloat
Wert zurück.float
floatValueBetween
(float minimum, float maximum) Gibt den Wert des Arguments alsfloat
Wert zurück.getName()
Bestimmt den Namen des Arguments.getValue()
Bestimmt den Wert des Arguments.boolean
hasValue()
Überprüft, ob das Argument einen Wert hat.int
intValue()
Gibt den Wert des Arguments alsint
Wert zurück.int
intValueBetween
(int minimum, int maximum) Gibt den Wert des Arguments alsint
Wert zurück.long
Gibt den Wert des Arguments alslong
Wert zurück.long
longValueBetween
(long minimum, long maximum) Gibt den Wert des Arguments alslong
Wert zurück.short
Gibt den Wert des Arguments alsshort
Wert zurück.short
shortValueBetween
(short minimum, short maximum) Gibt den Wert des Arguments alsshort
Wert zurück.Erzeugt ein neues Argument dessen Wert aus dem Namen dieses Arguments übernommen wird.toString()
Erzeugt eine Zeichenkette, die den Namen und den Wert des Arguments enthält.
-
Field Details
-
DURATION_PATTERN
-
DURATION_PATTERN_2
-
BYTE_UNIT_PATTERN
-
BYTE_DELIM_PATTERN
-
-
Method Details
-
toArgumentWithNameAsValue
Erzeugt ein neues Argument dessen Wert aus dem Namen dieses Arguments übernommen wird.- Returns:
- Neues Argument-Objekt
-
getName
Bestimmt den Namen des Arguments.- Returns:
- Name des Arguments.
-
hasValue
public boolean hasValue()Überprüft, ob das Argument einen Wert hat. Wenn das Argument keinen Wert hat, kann nur noch mit der Methode #booleanValue()
auf den Wert zugegriffen werden, ohne daß eine Ausnahme generiert wird.- Returns:
true
, falls das Argument einen Wert hat; sonstfalse
.
-
getValue
Bestimmt den Wert des Arguments.- Returns:
- Wert des Arguments.
- Throws:
IllegalStateException
- Wenn das Argument keinen Wert hat.
-
booleanValue
Gibt den Wert des Arguments alsboolean
Wert zurück. Die Argumentwerte "wahr", "ja", "1" werden zum Boolschen Werttrue
konvertiert; die Argumentwerte "falsch", "nein", "0" werden zum Boolschen Wertfalse
konvertiert. Die Groß-/Kleinschreibung des Argumentwerts hat beim Vergleich keine Relevanz. Wenn das Argument keinen Wert hat, dann wird als Ergebnis der Konvertierungtrue
zurückgegeben.- Returns:
- Der konvertierte Argumentwert.
- Throws:
IllegalArgumentException
- Wenn der Argumentwert nicht konvertiert werden konnte.
-
byteValue
Gibt den Wert des Arguments alsbyte
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typbyte
konvertiert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
shortValue
Gibt den Wert des Arguments alsshort
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typshort
konvertiert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
intValue
Gibt den Wert des Arguments alsint
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typint
konvertiert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
longValue
Gibt den Wert des Arguments alslong
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typlong
konvertiert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
floatValue
Gibt den Wert des Arguments alsfloat
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typfloat
konvertiert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
doubleValue
Gibt den Wert des Arguments alsdouble
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typdouble
konvertiert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
byteValueBetween
Gibt den Wert des Arguments alsbyte
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typbyte
konvertiert und überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.- Parameters:
minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
shortValueBetween
Gibt den Wert des Arguments alsshort
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typshort
konvertiert und überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.- Parameters:
minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
intValueBetween
Gibt den Wert des Arguments alsint
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typint
konvertiert und überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.- Parameters:
minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
longValueBetween
Gibt den Wert des Arguments alslong
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typlong
konvertiert und überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.- Parameters:
minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
floatValueBetween
Gibt den Wert des Arguments alsfloat
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typfloat
konvertiert und überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.- Parameters:
minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
doubleValueBetween
Gibt den Wert des Arguments alsdouble
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typdouble
konvertiert und überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.- Parameters:
minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.- Returns:
- Der konvertierte Argumentwert.
- Throws:
IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asFile
Gibt den Wert des Arguments als Datei-Identifikation zurück. Der Argumentwert wird als Dateiname der Datei interpretiert.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asPath
Gibt den Wert des Arguments als Datei-Identifikation zurück. Der Argumentwert wird als Dateiname der Datei interpretiert.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asExistingFile
Gibt den Wert des Arguments als Datei-Identifikation einer existierenden Datei zurück. Der Argumentwert wird als Dateiname der Datei interpretiert. Es wird geprüft, ob die Datei existiert.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asReadableFile
Gibt den Wert des Arguments als Datei-Identifikation einer lesbaren Datei zurück. Der Argumentwert wird als Dateiname der Datei interpretiert. Es wird geprüft, ob die Datei existiert und ob ein lesender Zugriff erlaubt ist.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder nicht lesbar ist.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asWritableFile
Gibt den Wert des Arguments als Datei-Identifikation einer beschreibaren Datei zurück. Der Argumentwert wird als Dateiname der Datei interpretiert. Es wird geprüft, ob die Datei existiert und ob ein schreibender Zugriff erlaubt ist.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder nicht beschreibar ist.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asWritableFile
Gibt den Wert des Arguments als Datei-Identifikation einer beschreibaren Datei zurück. Der Argumentwert wird als Dateiname der Datei interpretiert. Es wird geprüft, ob die Datei existiert und ob ein schreibender Zugriff erlaubt ist.- Parameters:
createIfNotExistent
- Wenn die spezifizierte Datei nicht existiert und dieser Parameter den Werttrue
hat, wird eine neue Datei erzeugt.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert und nicht angelegt werden sollte oder nicht beschreibar ist.IOException
- Wenn die Datei nicht angelegt werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asChangeableFile
Gibt den Wert des Arguments als Datei-Identifikation einer änderbaren Datei zurück. Der Argumentwert wird als Dateiname der Datei interpretiert. Es wird geprüft, ob die Datei existiert und ob ein lesender und schreibender Zugriff erlaubt ist.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder nicht nicht lesbar oder nicht beschreibar ist.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asChangeableFile
Gibt den Wert des Arguments als Datei-Identifikation einer änderbaren Datei zurück. Der Argumentwert wird als Dateiname der Datei interpretiert. Es wird geprüft, ob die Datei existiert und ob ein lesender und schreibender Zugriff erlaubt ist.- Parameters:
createIfNotExistent
- Wenn die spezifizierte Datei nicht existiert und dieser Parameter den Werttrue
hat, wird eine neue Datei erzeugt.- Returns:
- Dateiobjekt zum Zugriff auf die durch den Argumentwert identifizierten Datei.
- Throws:
IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert und nicht angelegt werden sollte oder nicht lesbar oder nicht beschreibar ist.IOException
- Wenn die Datei nicht angelegt werden konnte.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asDirectory
Gibt den Wert des Arguments als Datei-Identifikation eines Dateiverzeichnisses zurück. Der Argumentwert wird als Dateiname des Dateiverzeichnisses interpretiert. Es wird geprüft, ob die spezifizierte Datei existiert und ein Verzeichnis ist.- Returns:
- Dateiobjekt zum Zugriff auf das durch den Argumentwert identifizierte Dateiverzeichnis.
- Throws:
IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder kein Verzeichnis ist.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asString
Bestimmt den Wert des Arguments als Zeichenkette.- Returns:
- Wert des Arguments.
- Throws:
IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asNonEmptyString
Bestimmt den Wert des Arguments als nicht leere Zeichenkette.- Returns:
- Wert des Arguments.
- Throws:
IllegalArgumentException
- Wenn der Argumentwert leer ist.IllegalStateException
- Wenn das Argument keinen Wert hat.
-
asValueCase
-
asEnum
Bestimmt den Wert des Arguments als Enum-Konstante.- Parameters:
typeClass
- Klasse von dem der Enum-Wert eingelesen werden soll. Unterstützt native Enum-Klassen und Enum-ähnliche Klassen, mit festen öffentlichen Konstanten. Groß- und Kleinschreibung wird ignoriert.- Returns:
- Wert des Arguments.
- Throws:
IllegalArgumentException
- Wenn der Argumentwert leer oder ungültig ist.
-
asTime
public long asTime()Interpretiert den Wert des Arguments als Zeitangabe. Erkannt werden absolute Zeitangabe wie in der MethodeasAbsoluteTime()
und relative Zeitangaben wie in der Methode @{link #asRelativeTime}. Wenn eine relative Zeitangabe angegeben wurde, wird der angegebene Wert vom aktuellen Zeitpunkt abgezogen d.h. das Ergebnis liegt bei positiven Angaben in der Vergangenheit liegt.- Returns:
- Anzahl Millisekunden seit 1970.
-
asAbsoluteTime
public long asAbsoluteTime()Interpretiert den Wert des Arguments als absolute Zeitangabe. Das Argument muss aus einer Zeitangabe im Format HH:MM[:SS[,mmm]] und/oder aus einer Datumsangabe im Format TT.MM.[YY]YY bestehen. Die Reihenfolge von Datum und Zeit ist egal. Wenn nur eine Zeitangabe im Argument enthalten ist, wird als Datum der Tag benutzt, an dem das Programm gestartet wurde. Wenn nur eine Datumsangabe im Argument enthalten ist, dann wird als Zeitangabe 0:00 Uhr Lokalzeit benutzt. Bei Datumsangaben mit zweistelliger Jahreszahl wird ein Jahr gewählt, das im Bereich von 80 Jahren vor und 20 Jahren nach dem aktuellen Jahr liegt. Als spezieller Wert wird der Text "jetzt" erkannt und durch die beim Aufruf der Methode aktuelle Zeit interpretiert.- Returns:
- Anzahl Millisekunden seit 1970.
-
asRelativeTime
public long asRelativeTime()Interpretiert den Wert des Arguments als relative Zeitangabe. Das Argument muss aus einer Liste von Zahlen und Einheiten bestehen. Als Einheiten sind "t" und "Tag[e]" für Tage, "h" und "Stunde[n]" für Stunden, "m" und "Minute[n]" für Minuten, "s" und "Sekunde[n]" für Sekunden sowie "ms" und "Millisekunden[e]" für Millisekunden erkannt. Die Einzelnen Werte werden in Millisekunden umgerechnet und aufsummiert. Als spezieller Wert wird der Text "jetzt" erkannt und als "0 Sekunden" interpretiert.- Returns:
- Relative Zeitangabe in Millisekunden.
-
asByteSize
public long asByteSize()Interpretiert das Aufrufargument als eine Datenmenge, Beispielsweise würde "-test=10M" 10 Megabytes entsprechen.Diese Methode ist Fehlertolerant, folgende Werte sind gleichwertig: "10000k", "10000K", "10m", "10M", "10MB"
Diese Methode entspricht grob
asSiUnit("B")
, unterscheidet sich aber in folgenden Punkten:- Es sind nur ganzzahlige Rückgabewerte erlaubt
- Groß- und Kleinschreibung wird ignoriert, d.h. m = Mega, nicht Milli
- Unterstützung für SI-konforme Binärpotenzen (z. B. 1KiB = 1024 bytes, 1KB = 1000 bytes)
- Returns:
- Anzahl Bytes
-
asSiUnit
Gibt den Wert dieses Arguments als Wert einer SI-Einheit zurück. Wird zum Beispiel ein Argument mitasSiUnit("m")
angefragt, dann führen folgende Eingaben zu den entsprechenden Ergebnissen:"1m" → 1.0
"1km" → 1000.0
"1mm" → 0.001
"1cm" → 0.01
"1" → 1.0
"1m" → 1.0
(!!!)"1mm" → 0.001
"1k" → 1000.0
"1c" → 0.01
asSiUnit ("cm")
angefragt, dann führen folgende Eingaben zu den entsprechenden Ergebnissen:"1m" → 100.0
"1km" → 100000.0
"1mm" → 0.1
"1cm" → 1.0
- Parameters:
siUnit
- Von Programm geforderte Einheit- Returns:
- Wert, der in die gewünschte Einheit umgerechnet wurde. Bietet dank
BigDecimal
hier unbegrenzte Genauigkeit.
-
asDuration
Interpretiert den Wert des Arguments als Zeitdauer (KlasseDuration
. Diese Methode liefert im Gegensatz zuasRelativeTime()
eineDuration
zurück und interpretiert allgemein mehr Formate. Beispielsweise werden folgende Werte unterstützt:12:55:12,231
12:55
3 Tage 5 Minuten 2 Sekunden
3 Tage, 12:55:12,231
Der Wert "jetzt" wird nicht unterstützt.
- Returns:
- Zeitdauer
-
asLocalDate
Gibt das angegebene Datum zurück, im Format dd.MM.yyyy.Das Jahr kann statt 4-stellig auch zweistellig angegeben werden, was aber nicht empfohlen wird, da Mehrdeutigkeiten entstehen können. Die verwendete Bibliothek interpretiert 87 bspw. als 2087, nicht als 1987.
- Returns:
- Datum
-
asLocalTime
Gibt die angegebene Zeit zurück, im Format HH:mm:ss,SSS. Die Millisekunden und Sekunden können optional weggelassen werden.- Returns:
- Zeit
-
asLocalDateTime
Ermittelt ein Datum alsLocalDateTime
. Diese Klasse unterstützt folgende Formate:dd.MM.yyyy, HH:mm:ss,SSS
dd.MM.yyyy, HH:mm:ss
dd.MM.yyyy, HH:mm
HH:mm:ss,SSS, dd.MM.yyyy
HH:mm:ss, dd.MM.yyyy
HH:mm, dd.MM.yyyy
Das Komma zwischen Datum und Zeit ist dabei optional, das Leerzeichen ist aber erforderlich.
Das Jahr kann statt 4-stellig auch zweistellig angegeben werden, was aber nicht empfohlen wird, da Mehrdeutigkeiten entstehen können. Die verwendete Bibliothek interpretiert 87 bspw. als 2087, nicht als 1987.
- Returns:
- Datum und Zeit
-
asInstant
Gibt die angegebene Datum+Uhrzeit alsInstant
zurück (in der lokalen Standardzeitzone).- Returns:
- Angegebener Zeitpunkt
-
toString
Erzeugt eine Zeichenkette, die den Namen und den Wert des Arguments enthält.- Overrides:
toString
in classObject
- Returns:
- Zeichenkette mit Name und Wert des Arguments.
- Throws:
IllegalStateException
- Wenn das Argument keinen Wert hat.
-