Class NumFeld

  • All Implemented Interfaces:
    Serializable, Cloneable, Comparable<Feld>
    Direct Known Subclasses:
    Betrag, Datum

    public class NumFeld
    extends 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:
    Serialized Form
    • Constructor Detail

      • NumFeld

        public NumFeld​(String name,
                       String s)
        Parameters:
        name - Feld-Bezeichner (z.B. "Anzahl Saetze")
        s - z.B. "4"
      • NumFeld

        public NumFeld​(Bezeichner bezeichner,
                       int length,
                       int start)
        Legt ein neues numerisches Feld an.
        Parameters:
        bezeichner - Feld-Bezeichner (z.B. "Anzahl Saetze")
        length - Anzahl Bytes
        start - Start-Byte (beginnend bei 1)
        Since:
        1.0
      • NumFeld

        public NumFeld​(Bezeichner bezeichner,
                       int length,
                       int start,
                       int value)
        Legt ein neues numerisches Feld an.
        Parameters:
        bezeichner - Feld-Bezeichner (z.B. "Anzahl Saetze")
        length - Anzahl Bytes
        start - Start-Byte (beginnend bei 1)
        value - z.B. "01"
        Since:
        1.0
      • NumFeld

        public NumFeld​(String name,
                       int start,
                       String value)
        Parameters:
        name - Feld-Bezeichner (z.B. "Anzahl Saetze")
        start - Start-Byte (beginnend bei 1)
        value - z.B. "01"
        Since:
        0.4
      • NumFeld

        public NumFeld​(String name,
                       String s,
                       int nachkommastellen)
        Parameters:
        name - Feld-Bezeichner (z.B. "pi")
        s - der Inhalt (z.B. "314")
        nachkommastellen - Anzahl der Nachkommastellen (z.B. 2)
        Since:
        0.4
      • NumFeld

        public NumFeld​(Bezeichner name,
                       int start,
                       String value,
                       int nachkommastellen)
        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

        public NumFeld​(Bezeichner name,
                       int length,
                       int start,
                       int value,
                       int nachkommastellen)
        Legt ein neues numerisches Feld an.
        Parameters:
        name - Feld-Bezeichner (z.B. "pi")
        length - Gesamtlaenge
        start - Start-Byte (beginnend ab 1)
        value - der Inhalt (z.B. 314)
        nachkommastellen - Anzahl der Nachkommastellen (z.B. 2)
        Since:
        1.0
      • NumFeld

        protected NumFeld​(Bezeichner name,
                          int length,
                          int start,
                          int nachkommastellen,
                          Config config)
      • NumFeld

        public NumFeld​(Feld other)
        Dies ist der Copy-Constructor, mit dem man ein bestehendes Feld kopieren kann.
        Parameters:
        other - das originale Feld
      • NumFeld

        protected NumFeld​(Feld other,
                          Config config)
    • Method Detail

      • mitNachkommastellen

        public NumFeld mitNachkommastellen​(int n)
        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

        public NumFeld mitConfig​(Config c)
        Liefert eine neues NumFeld mit neuer Konfiguration
        Overrides:
        mitConfig in class Feld
        Parameters:
        c - neue Konfiguration
        Returns:
        neues NumFeld
        Since:
        5.3
      • 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.
        Overrides:
        setInhalt in class Feld
        Parameters:
        c - neuer Inhalt
      • setInhalt

        public void setInhalt​(int n)
        Setzt den Inhalt mit der uebergebenen Zahl unter Beruecksichtigung der Nachkommastellen.

        ACHTUNG: Ab 5.1 werden hier die Nachkommastellen beruecksichtigt.

        Overrides:
        setInhalt in class Feld
        Parameters:
        n - neuer Inhalt
        Throws:
        IllegalArgumentException - wenn n < 0
      • 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 class Feld
        Parameters:
        n - neuer Inhalt
        Throws:
        IllegalArgumentException - wenn n < 0
      • setInhalt

        public void setInhalt​(BigInteger n)
        Setzt den Inhalt mit der uebergebenen Zahl unter Beruecksichtigung der Nachkommastellen.

        ACHTUNG: Ab 5.1 werden hier die Nachkommastellen beruecksichtigt.

        Overrides:
        setInhalt in class Feld
        Parameters:
        n - neuer Inhalt
        Throws:
        IllegalArgumentException - wenn n < 0
      • setInhalt

        public void setInhalt​(double x)
        Setzt den Inhalt eines Feldes als Double. Nach Moeglichkeit soll setInhalt(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
      • getInhalt

        public String getInhalt()
        Description copied from class: Feld
        Liefert den Inhalt, so wie er im Record steht (ungetrimm't).
        Overrides:
        getInhalt in class Feld
        Returns:
        den Inhalt
      • resetInhalt

        public void resetInhalt()
        Description copied from class: Feld
        Reset inhalt.
        Overrides:
        resetInhalt in class Feld
      • truncate

        protected String truncate​(String s)
        Description copied from class: Feld
        Schneidet einen zu langen String unabhaengig vom Alignment rechts ab.
        Overrides:
        truncate in class Feld
        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

        public BigInteger toBigInteger()
        Fuer grosse Zahlen kann auch schon mal ein BigInteger noetig sein.
        Returns:
        die Zahl als BigInteger
        Since:
        5.4
      • toBigDecimal

        public BigDecimal toBigDecimal()
        Wenn eine Zahl Nachkommastellen hat, sollte sie auch als BigDecimal ausgegeben werden koennen.
        Returns:
        die Zahl als BigDecimal
        Since:
        5.0
      • add

        public BigDecimal add​(BigDecimal summand)
        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.
        Overrides:
        hasValue in class Feld
        Returns:
        true, falls Feld mit einem Wert belegt ist
        Since:
        3.1
      • format

        public String 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".
        Overrides:
        format in class Feld
        Returns:
        Inhalt des Feldes
      • clone

        public Object clone()
        Description copied from class: Feld
        Die clone-Methode hat gegenueber dem CopyConstructor Feld(Feld) den Vorteil, dass es den richtigen Typ fuer die abgeleiteten Klassen zurueckliefert.
        Overrides:
        clone in class Feld
        Returns:
        eine Kopie