public static class ArgumentList.Argument
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.util.regex.Pattern |
BYTE_DELIM_PATTERN |
static java.util.regex.Pattern |
BYTE_UNIT_PATTERN |
static java.util.regex.Pattern |
DURATION_PATTERN |
static java.util.regex.Pattern |
DURATION_PATTERN_2 |
Modifier and Type | Method and Description |
---|---|
long |
asAbsoluteTime()
Interpretiert den Wert des Arguments als absolute Zeitangabe.
|
long |
asByteSize()
Interpretiert das Aufrufargument als eine Datenmenge, Beispielsweise würde "-test=10M" 10 Megabytes entsprechen.
|
java.io.File |
asChangeableFile()
Gibt den Wert des Arguments als Datei-Identifikation einer änderbaren Datei zurück.
|
java.io.File |
asChangeableFile(boolean createIfNotExistent)
Gibt den Wert des Arguments als Datei-Identifikation einer änderbaren Datei zurück.
|
java.io.File |
asDirectory()
Gibt den Wert des Arguments als Datei-Identifikation eines Dateiverzeichnisses zurück.
|
java.time.Duration |
asDuration()
Interpretiert den Wert des Arguments als Zeitdauer (Klasse
Duration . |
<E> E |
asEnum(java.lang.Class<E> typeClass)
Bestimmt den Wert des Arguments als Enum-Konstante.
|
java.io.File |
asExistingFile()
Gibt den Wert des Arguments als Datei-Identifikation einer existierenden Datei zurück.
|
java.io.File |
asFile()
Gibt den Wert des Arguments als Datei-Identifikation zurück.
|
java.time.Instant |
asInstant()
Gibt die angegebene Datum+Uhrzeit als
Instant zurück (in der lokalen Standardzeitzone). |
java.time.LocalDate |
asLocalDate()
Gibt das angegebene Datum zurück, im Format dd.MM.yyyy.
|
java.time.LocalDateTime |
asLocalDateTime()
Ermittelt ein Datum als
LocalDateTime . |
java.time.LocalTime |
asLocalTime()
Gibt die angegebene Zeit zurück, im Format HH:mm:ss,SSS.
|
java.lang.String |
asNonEmptyString()
Bestimmt den Wert des Arguments als nicht leere Zeichenkette.
|
java.nio.file.Path |
asPath()
Gibt den Wert des Arguments als Datei-Identifikation zurück.
|
java.io.File |
asReadableFile()
Gibt den Wert des Arguments als Datei-Identifikation einer lesbaren Datei zurück.
|
long |
asRelativeTime()
Interpretiert den Wert des Arguments als relative Zeitangabe.
|
java.math.BigDecimal |
asSiUnit(java.lang.String siUnit)
Gibt den Wert dieses Arguments als Wert einer SI-Einheit zurück.
|
java.lang.String |
asString()
Bestimmt den Wert des Arguments als Zeichenkette.
|
long |
asTime()
Interpretiert den Wert des Arguments als Zeitangabe.
|
ArgumentList.ValueCase |
asValueCase(ArgumentList.ValueSelection validValues) |
java.io.File |
asWritableFile()
Gibt den Wert des Arguments als Datei-Identifikation einer beschreibaren Datei zurück.
|
java.io.File |
asWritableFile(boolean createIfNotExistent)
Gibt den Wert des Arguments als Datei-Identifikation einer beschreibaren Datei zurück.
|
boolean |
booleanValue()
Gibt den Wert des Arguments als
boolean Wert zurück. |
byte |
byteValue()
Gibt den Wert des Arguments als
byte Wert zurück. |
byte |
byteValueBetween(byte minimum,
byte maximum)
Gibt den Wert des Arguments als
byte Wert zurück. |
double |
doubleValue()
Gibt den Wert des Arguments als
double Wert zurück. |
double |
doubleValueBetween(double minimum,
double maximum)
Gibt den Wert des Arguments als
double Wert zurück. |
float |
floatValue()
Gibt den Wert des Arguments als
float Wert zurück. |
float |
floatValueBetween(float minimum,
float maximum)
Gibt den Wert des Arguments als
float Wert zurück. |
java.lang.String |
getName()
Bestimmt den Namen des Arguments.
|
java.lang.String |
getValue()
Bestimmt den Wert des Arguments.
|
boolean |
hasValue()
Überprüft, ob das Argument einen Wert hat.
|
int |
intValue()
Gibt den Wert des Arguments als
int Wert zurück. |
int |
intValueBetween(int minimum,
int maximum)
Gibt den Wert des Arguments als
int Wert zurück. |
long |
longValue()
Gibt den Wert des Arguments als
long Wert zurück. |
long |
longValueBetween(long minimum,
long maximum)
Gibt den Wert des Arguments als
long Wert zurück. |
short |
shortValue()
Gibt den Wert des Arguments als
short Wert zurück. |
short |
shortValueBetween(short minimum,
short maximum)
Gibt den Wert des Arguments als
short Wert zurück. |
ArgumentList.Argument |
toArgumentWithNameAsValue()
Erzeugt ein neues Argument dessen Wert aus dem Namen dieses Arguments übernommen wird.
|
java.lang.String |
toString()
Erzeugt eine Zeichenkette, die den Namen und den Wert des Arguments enthält.
|
public static final java.util.regex.Pattern DURATION_PATTERN
public static final java.util.regex.Pattern DURATION_PATTERN_2
public static final java.util.regex.Pattern BYTE_UNIT_PATTERN
public static final java.util.regex.Pattern BYTE_DELIM_PATTERN
public ArgumentList.Argument toArgumentWithNameAsValue()
public java.lang.String getName()
public boolean hasValue()
booleanValue()
auf den
Wert zugegriffen werden, ohne daß eine Ausnahme generiert wird.true
, falls das Argument einen Wert hat; sonst false
.public java.lang.String getValue()
java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public boolean booleanValue() throws java.lang.IllegalArgumentException
boolean
Wert zurück. Die Argumentwerte "wahr", "ja", "1" werden zum Boolschen Wert true
konvertiert; die Argumentwerte "falsch", "nein", "0" werden zum Boolschen Wert false
konvertiert. Die Groß-/Kleinschreibung des
Argumentwerts hat beim Vergleich keine Relevanz. Wenn das Argument keinen Wert hat, dann wird als Ergebnis der Konvertierung true
zurückgegeben.java.lang.IllegalArgumentException
- Wenn der Argumentwert nicht konvertiert werden konnte.public byte byteValue() throws java.lang.NumberFormatException
byte
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ byte
konvertiert.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public short shortValue() throws java.lang.NumberFormatException
short
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ short
konvertiert.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public int intValue() throws java.lang.NumberFormatException
int
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ int
konvertiert.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public long longValue() throws java.lang.NumberFormatException
long
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ long
konvertiert.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public float floatValue() throws java.lang.NumberFormatException
float
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ float
konvertiert.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public double doubleValue() throws java.lang.NumberFormatException
double
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ double
konvertiert.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public byte byteValueBetween(byte minimum, byte maximum) throws java.lang.NumberFormatException
byte
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ byte
konvertiert und
überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.java.lang.IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public short shortValueBetween(short minimum, short maximum) throws java.lang.NumberFormatException
short
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ short
konvertiert und
überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.java.lang.IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public int intValueBetween(int minimum, int maximum) throws java.lang.NumberFormatException
int
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ int
konvertiert und
überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.java.lang.IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public long longValueBetween(long minimum, long maximum) throws java.lang.NumberFormatException
long
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ long
konvertiert und
überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.java.lang.IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public float floatValueBetween(float minimum, float maximum) throws java.lang.NumberFormatException
float
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ float
konvertiert und
überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.java.lang.IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public double doubleValueBetween(double minimum, double maximum) throws java.lang.NumberFormatException
double
Wert zurück. Der Argumentwert wird in einen Zahlwert vom Typ double
konvertiert und
überprüft, ob der Wert nicht ausserhalb der angegebenen Grenzen liegt.minimum
- Kleinster erlaubter Wert.maximum
- Größter erlaubter Wert.java.lang.IllegalArgumentException
- Wenn der Wert kleiner als das Minimum oder größer als das Maximum ist.java.lang.NumberFormatException
- Wenn der Argumentwert nicht konvertiert werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asFile()
java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.nio.file.Path asPath()
java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asExistingFile()
java.lang.IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asReadableFile()
java.lang.IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder nicht lesbar ist.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asWritableFile()
java.lang.IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder nicht beschreibar ist.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asWritableFile(boolean createIfNotExistent) throws java.io.IOException
createIfNotExistent
- Wenn die spezifizierte Datei nicht existiert und dieser Parameter den Wert true
hat, wird eine neue
Datei erzeugt.java.lang.IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert und nicht angelegt werden sollte oder nicht beschreibar
ist.java.io.IOException
- Wenn die Datei nicht angelegt werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asChangeableFile()
java.lang.IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder nicht nicht lesbar oder nicht beschreibar ist.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asChangeableFile(boolean createIfNotExistent) throws java.io.IOException
createIfNotExistent
- Wenn die spezifizierte Datei nicht existiert und dieser Parameter den Wert true
hat, wird eine neue
Datei erzeugt.java.lang.IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert und nicht angelegt werden sollte oder nicht lesbar oder
nicht beschreibar ist.java.io.IOException
- Wenn die Datei nicht angelegt werden konnte.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.io.File asDirectory()
java.lang.IllegalArgumentException
- Wenn die identifizierte Datei nicht existiert oder kein Verzeichnis ist.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.lang.String asString()
java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public java.lang.String asNonEmptyString()
java.lang.IllegalArgumentException
- Wenn der Argumentwert leer ist.java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.public ArgumentList.ValueCase asValueCase(ArgumentList.ValueSelection validValues)
public <E> E asEnum(java.lang.Class<E> typeClass)
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.java.lang.IllegalArgumentException
- Wenn der Argumentwert leer oder ungültig ist.public long asTime()
asAbsoluteTime()
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.public long asAbsoluteTime()
public long asRelativeTime()
public long asByteSize()
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:
public java.math.BigDecimal asSiUnit(java.lang.String siUnit)
asSiUnit("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
siUnit
- Von Programm geforderte EinheitBigDecimal
hier unbegrenzte Genauigkeit.public java.time.Duration asDuration()
Duration
. Diese Methode liefert im Gegensatz zu asRelativeTime()
eine Duration
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.
public java.time.LocalDate asLocalDate()
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.
public java.time.LocalTime asLocalTime()
public java.time.LocalDateTime asLocalDateTime()
LocalDateTime
. 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.
public java.time.Instant asInstant()
Instant
zurück (in der lokalen Standardzeitzone).public java.lang.String toString()
toString
in class java.lang.Object
java.lang.IllegalStateException
- Wenn das Argument keinen Wert hat.