Class NumFeld

java.lang.Object
gdv.xport.feld.Feld
gdv.xport.feld.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:
  • Constructor Details

    • NumFeld

      @Deprecated public NumFeld(String name, String s)
      Deprecated.
      bitte anderen Constructor verwenden (TODO: wird mit v8 entsorgt)
      Parameters:
      name - Feld-Bezeichner (z.B. "Anzahl Saetze")
      s - z.B. "4"
    • NumFeld

      @Deprecated public NumFeld(Bezeichner bezeichner, int length, int start)
      Deprecated.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      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, ByteAdresse start)
      Legt ein neues numerisches Feld an.
      Parameters:
      bezeichner - Feld-Bezeichner (z.B. "Anzahl Saetze")
      length - Anzahl Bytes
      start - Start-Adresse
      Since:
      7.0 (07-Jan-2024)
    • NumFeld

      @Deprecated public NumFeld(Bezeichner bezeichner, int length, int start, int value)
      Deprecated.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      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(Bezeichner bezeichner, int length, ByteAdresse 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:
      7.0 (07-Jan-2024)
    • NumFeld

      @Deprecated public NumFeld(String name, int start, String value)
      Deprecated.
      durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      Parameters:
      name - Feld-Bezeichner (z.B. "Anzahl Saetze")
      start - Start-Byte (beginnend bei 1)
      value - z.B. "01"
      Since:
      0.4
    • NumFeld

      @Deprecated public NumFeld(String name, String s, int nachkommastellen)
      Deprecated.
      durch entsprechenden Constructor mit Bezeichner ersetzt (TODO: wird mit v8 entsorgt)
      Parameters:
      name - Feld-Bezeichner (z.B. "pi")
      s - der Inhalt (z.B. "314")
      nachkommastellen - Anzahl der Nachkommastellen (z.B. 2)
      Since:
      0.4
    • NumFeld

      @Deprecated public NumFeld(Bezeichner name, int start, String value, int nachkommastellen)
      Deprecated.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      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, ByteAdresse 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:
      7.0 (07-Jan-2024)
    • NumFeld

      @Deprecated public NumFeld(Bezeichner name, int length, int start, int value, int nachkommastellen)
      Deprecated.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      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

      public NumFeld(Bezeichner name, int length, ByteAdresse 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:
      7.0 (07-Jan-2024)
    • NumFeld

      @Deprecated protected NumFeld(Bezeichner name, int length, int start, int nachkommastellen, Config config)
      Deprecated.
    • NumFeld

      protected NumFeld(Bezeichner name, int length, ByteAdresse 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 Details

    • 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(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(BigDecimal n)
      Setzt den Inhalt mit der uebergebenen Zahl.
      Overrides:
      setInhalt in class Feld
      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 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
    • pack

      protected String pack(String s)
      Overrides:
      pack in class Feld
    • 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
    • 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
    • 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