Package gdv.xport.feld
Class NumFeld
java.lang.Object
gdv.xport.feld.Feld
gdv.xport.feld.NumFeld
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<Feld>
Klasse fuer numerische Zeichen. Die Default-Einstellung fuer die
Darstellung ist rechtsbuendig.
Siehe Broschuere_gdv-datensatz_vu-vermittler.pdf, Seite 16 ("Datenfelder/Feldformate").
- Author:
- oliver
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Die Validierung von Werten wurde jetzt in einer eingenen Validator- Klasse zusammengefasst. -
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionNumFeld
(Bezeichner bezeichner, int length, int start) Legt ein neues numerisches Feld an.NumFeld
(Bezeichner bezeichner, int length, int start, int value) Legt ein neues numerisches Feld an.NumFeld
(Bezeichner name, int length, int start, int value, int nachkommastellen) Legt ein neues numerisches Feld an.protected
NumFeld
(Bezeichner name, int length, int start, int nachkommastellen, Config config) NumFeld
(Bezeichner name, int start, String value, int nachkommastellen) Instantiiert ein neues numerisches Feld.Dies ist der Copy-Constructor, mit dem man ein bestehendes Feld kopieren kann.protected
-
Method Summary
Modifier and TypeMethodDescriptionadd
(BigDecimal summand) Addiert den Summand auf und liefert die Summe zurueck.clone()
Die clone-Methode hat gegenueber dem CopyConstructorFeld(Feld)
den Vorteil, dass es den richtigen Typ fuer die abgeleiteten Klassen zurueckliefert.format()
Diese Methode ist dafuer vorgesehen, das Feld als normalen String ausgeben zu koennen.Liefert den Inhalt, so wie er im Record steht (ungetrimm't).int
Liefert die Anzahl der Nachkommastellen.boolean
hasValue()
Dient zum Ermittel, ob ein Werte schon gesetzt wurde.Liefert eine neues NumFeld mit neuer KonfigurationmitNachkommastellen
(int n) Liefert ein neues NumFeld mit der gewuenschten Anzahl von Nachkommastellen zurueck.protected String
void
Reset inhalt.void
setInhalt
(char c) Setzt den Inhalt mit der uebergebenen Ziffer.void
setInhalt
(double x) Setzt den Inhalt eines Feldes als Double.void
setInhalt
(long n) Setzt den Inhalt mit der uebergebenen Zahl unter Beruecksichtigung der Nachkommastellen.void
Setzt den Inhalt mit der uebergebenen Zahl.void
Setzt den Inhalt mit der uebergebenen Zahl unter Beruecksichtigung der Nachkommastellen.Wenn eine Zahl Nachkommastellen hat, sollte sie auch alsBigDecimal
ausgegeben werden koennen.Fuer grosse Zahlen kann auch schon mal einBigInteger
noetig sein.double
toDouble()
Wenn eine Zahl Nachkommastellen hat, sollte sie auch als Double ausgegeben werden koennen.int
toInt()
Wandelt den Inhalt in einen Integer (ohne Beruecksichtigung etwaiger Nachkommastellen).long
toLong()
Wandelt den Inhalt in einen Long (ohne Beruecksichtigung etwaiger Nachkommastellen).protected String
Schneidet einen zu langen String unabhaengig vom Alignment rechts ab.Methods inherited from class gdv.xport.feld.Feld
compareTo, equals, getAnzahlBytes, getAusrichtung, getBezeichner, getBezeichnung, getByteAdresse, getDefaultAlignment, getEndAdresse, getValidator, hashCode, isEmpty, isInvalid, isValid, overlapsWith, setAnzahlBytes, setAusrichtung, setInhalt, setInhalt, toShortString, toString, validate, validate, withInhalt, write
-
Constructor Details
-
NumFeld
- Parameters:
name
- Feld-Bezeichner (z.B. "Anzahl Saetze")s
- z.B. "4"
-
NumFeld
Legt ein neues numerisches Feld an.- Parameters:
bezeichner
- Feld-Bezeichner (z.B. "Anzahl Saetze")length
- Anzahl Bytesstart
- Start-Byte (beginnend bei 1)- Since:
- 1.0
-
NumFeld
Legt ein neues numerisches Feld an.- Parameters:
bezeichner
- Feld-Bezeichner (z.B. "Anzahl Saetze")length
- Anzahl Bytesstart
- Start-Byte (beginnend bei 1)value
- z.B. "01"- Since:
- 1.0
-
NumFeld
- Parameters:
name
- Feld-Bezeichner (z.B. "Anzahl Saetze")start
- Start-Byte (beginnend bei 1)value
- z.B. "01"- Since:
- 0.4
-
NumFeld
- Parameters:
name
- Feld-Bezeichner (z.B. "pi")s
- der Inhalt (z.B. "314")nachkommastellen
- Anzahl der Nachkommastellen (z.B. 2)- Since:
- 0.4
-
NumFeld
Instantiiert ein neues numerisches Feld.- Parameters:
name
- Feld-Bezeichner (z.B. "pi")start
- Start-Byte (beginnend ab 1)value
- der Inhalt (z.B. "314")nachkommastellen
- Anzahl der Nachkommastellen (z.B. 2)- Since:
- 4.0
-
NumFeld
Legt ein neues numerisches Feld an.- Parameters:
name
- Feld-Bezeichner (z.B. "pi")length
- Gesamtlaengestart
- Start-Byte (beginnend ab 1)value
- der Inhalt (z.B. 314)nachkommastellen
- Anzahl der Nachkommastellen (z.B. 2)- Since:
- 1.0
-
NumFeld
-
NumFeld
Dies ist der Copy-Constructor, mit dem man ein bestehendes Feld kopieren kann.- Parameters:
other
- das originale Feld
-
NumFeld
-
-
Method Details
-
mitNachkommastellen
Liefert ein neues NumFeld mit der gewuenschten Anzahl von Nachkommastellen zurueck.- Parameters:
n
- Anzahl der Nachkommastellen- Returns:
- neues NumFeld mit n Nachkommastellen
- Since:
- 0.4
-
mitConfig
Liefert eine neues NumFeld mit neuer Konfiguration -
getNachkommastellen
public int getNachkommastellen()Liefert die Anzahl der Nachkommastellen.- Returns:
- Anzahl der Nachkommastellen
-
setInhalt
public void setInhalt(char c) Setzt den Inhalt mit der uebergebenen Ziffer. -
setInhalt
public void setInhalt(long n) Setzt den Inhalt mit der uebergebenen Zahl unter Beruecksichtigung der Nachkommastellen.ACHTUNG: Ab 5.1 werden hier die Nachkommastellen beruecksichtigt.
- Overrides:
setInhalt
in classFeld
- Parameters:
n
- neuer Inhalt- Throws:
IllegalArgumentException
- wenn n < 0
-
setInhalt
Setzt den Inhalt mit der uebergebenen Zahl unter Beruecksichtigung der Nachkommastellen.ACHTUNG: Ab 5.1 werden hier die Nachkommastellen beruecksichtigt.
- Overrides:
setInhalt
in classFeld
- Parameters:
n
- neuer Inhalt- Throws:
IllegalArgumentException
- wenn n < 0
-
setInhalt
Setzt den Inhalt mit der uebergebenen Zahl.- Overrides:
setInhalt
in classFeld
- Parameters:
n
- Zahl- Throws:
IllegalArgumentException
- wenn n < 0- Since:
- 5.0
-
setInhalt
public void setInhalt(double x) Setzt den Inhalt eines Feldes als Double. Nach Moeglichkeit sollsetInhalt(BigDecimal)
verwendet werden, da die interne Darstellung von double-Werten nie exakt sind.- Parameters:
x
- der neue Inhalt- Throws:
IllegalArgumentException
- wenn n < 0- Since:
- 6.1
-
pack
-
getInhalt
Description copied from class:Feld
Liefert den Inhalt, so wie er im Record steht (ungetrimm't). -
resetInhalt
public void resetInhalt()Description copied from class:Feld
Reset inhalt.- Overrides:
resetInhalt
in classFeld
-
truncate
Description copied from class:Feld
Schneidet einen zu langen String unabhaengig vom Alignment rechts ab.- Overrides:
truncate
in classFeld
- Parameters:
s
- String, der evtl. gekuerzt wird- Returns:
- String der Laenge
Feld.getAnzahlBytes()
-
toInt
public int toInt()Wandelt den Inhalt in einen Integer (ohne Beruecksichtigung etwaiger Nachkommastellen).- Returns:
- den Inhalt als int
-
toLong
public long toLong()Wandelt den Inhalt in einen Long (ohne Beruecksichtigung etwaiger Nachkommastellen).- Returns:
- den Inhalt als long
-
toDouble
public double toDouble()Wenn eine Zahl Nachkommastellen hat, sollte sie auch als Double ausgegeben werden koennen.- Returns:
- die Zahl als Double
- Since:
- 0.4
-
toBigInteger
Fuer grosse Zahlen kann auch schon mal einBigInteger
noetig sein.- Returns:
- die Zahl als
BigInteger
- Since:
- 5.4
-
toBigDecimal
Wenn eine Zahl Nachkommastellen hat, sollte sie auch alsBigDecimal
ausgegeben werden koennen.- Returns:
- die Zahl als
BigDecimal
- Since:
- 5.0
-
add
Addiert den Summand auf und liefert die Summe zurueck.- Parameters:
summand
- der aufaddiert wird- Returns:
- Summe
- Since:
- 5.0
-
hasValue
public boolean hasValue()Dient zum Ermittel, ob ein Werte schon gesetzt wurde. Dabei werden typische Initialisierungswerte wie "0" als "nicht gesetzt" interpretiert. -
format
Description copied from class:Feld
Diese Methode ist dafuer vorgesehen, das Feld als normalen String ausgeben zu koennen. Zahlen koennen so z.B. in der Form "123,45" ausgegeben werden, unter Beruecksichtigung der eingestellten "Locale". -
clone
Description copied from class:Feld
Die clone-Methode hat gegenueber dem CopyConstructorFeld(Feld)
den Vorteil, dass es den richtigen Typ fuer die abgeleiteten Klassen zurueckliefert.
-