Klasse Feld

java.lang.Object
gdv.xport.feld.Feld
Alle implementierten Schnittstellen:
Serializable, Cloneable, Comparable<Feld>
Bekannte direkte Unterklassen:
AlphaNumFeld, FeldXml, NumFeld, Undefiniert, Version

public class Feld extends Object implements Comparable<Feld>, Cloneable, Serializable
Die Feld-Klasse bezieht ihre Information hauptsaechlich aus Enum-Klassen wie Feld100 oder Feld1bis7, die mit Annotationen versehen sind.
Seit:
04.10.2009
Autor:
oliver
Siehe auch:
  • Verschachtelte Klassen - Übersicht

    Verschachtelte Klassen
    Modifizierer und Typ
    Klasse
    Beschreibung
    static class 
    Die Validierung von Werten wurde jetzt in einer eingenen Validator- Klasse zusammengefasst.
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    protected final Config
     
    protected String
     
    static final Feld
    statt "null".
  • Konstruktorübersicht

    Konstruktoren
    Modifizierer
    Konstruktor
    Beschreibung
     
    Legt ein neues Feld an.
     
    Feld(int start, String s, Align alignment)
    Veraltet.
    durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
     
    Feld(Bezeichner bezeichner, int length, int start, Align alignment)
    Veraltet.
    durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
    protected
    Feld(Bezeichner bezeichner, int length, int start, Align alignment, Config config)
    Veraltet.
     
    Feld(Bezeichner bezeichner, int length, ByteAdresse start, Align alignment)
    Erzeugt ein neues Feld.
    protected
    Feld(Bezeichner bezeichner, int length, ByteAdresse start, Align alignment, Config config)
     
     
    Feld(Bezeichner name, int start, String s, Align alignment)
    Veraltet.
    durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
     
    Feld(Bezeichner name, ByteAdresse start, String s, Align alignment)
    Erzeugt ein neues Feld.
     
    Feld(ByteAdresse start, String s, Align alignment)
    Legt ein neues Feld an.
     
    Feld(Feld other)
    Dies ist der Copy-Constructor, mit dem man ein bestehendes Feld kopieren kann.
    protected
    Feld(Feld other, Config cfg)
     
     
    Feld(String name, int start, char c)
    Veraltet.
    durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
     
    Feld(String name, int length, int start, char c, Align alignment)
    Veraltet.
    durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
     
    Feld(String name, int length, int start, String s, Align alignment)
    Veraltet.
    durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
     
    Feld(String name, String s, Align alignment)
    Instantiates a new feld.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    Die clone-Methode hat gegenueber dem CopyConstructor Feld(Feld) den Vorteil, dass es den richtigen Typ fuer die abgeleiteten Klassen zurueckliefert.
    final int
    compareTo(Feld other)
    Es gilt fuer Feld a und b: a < b, wenn die Start-Adresse von a vor b liegt.
    boolean
    Zwei Felder sind gleich, wenn sie die gleiche Adresse und den gleichen Inhalt haben.
    Diese Methode ist dafuer vorgesehen, das Feld als normalen String ausgeben zu koennen.
    final int
    Gets the anzahl bytes.
    Liefert die Ausrichtung eines Feldes.
    Liefert den Bezeichner eines Feldes zurueck.
    Gets the bezeichnung.
    final int
    Gets the byte adresse.
    final int
    Gets the end adresse.
    Liefert den Inhalt, so wie er im Record steht (ungetrimm't).
    Hierueber kann der Validator zur Pruefung im Vorfeld geholt werden.
    int
     
    boolean
    Dient zum Ermittel, ob ein Werte schon gesetzt wurde.
    boolean
    Checks if is empty.
    boolean
    Checks if is invalid.
    boolean
    Valid bedeutet: Byte-Adresse >= 1, Feld geht nicht ueber (Teil-)Datensatz-Grenze hinaus, Ausrichtung ist bekannt.
    Liefert eine neues Feld mit neuer Konfiguration
    final boolean
    Ueberprueft, ob sich zwei Felder mit unterschiedlichen Start-Adressen ueberlagern.
    protected String
     
    void
    Reset inhalt.
    void
    setAusrichtung(Align alignment)
    Hiermit kann man die Ausrichtung umstellen.
    void
    setInhalt(char c)
    Sets the inhalt.
    void
    setInhalt(char c, int i)
    Sets the inhalt.
    void
    setInhalt(long n)
    Setzt den Inhalt aus der uebergebenen Zahl.
    void
    setInhalt(String neuerInhalt)
    Setzt den Inhalt.
    void
    Setzt den Inhalt aus der uebergebenen Zahl.
    void
    Setzt den Inhalt mit der uebergebenen Zahl.
     
     
    protected String
    Schneidet einen zu langen String unabhaengig vom Alignment rechts ab.
    List<net.sf.oval.ConstraintViolation>
    Validate.
    List<net.sf.oval.ConstraintViolation>
    validate(Config validationConfig)
    Validiert das Feld mit der angegebenen Konfiguration.
    Setzt das Feld und liefert es als Ergebnis zurueck.
    final void
    write(Writer writer)
    Write.

    Von Klasse geerbte Methoden java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Felddetails

    • NULL_FELD

      public static final Feld NULL_FELD
      statt "null".
    • inhalt

      protected String inhalt
    • config

      protected final Config config
  • Konstruktordetails

    • Feld

      public Feld()
      Legt ein neues Feld an. Dieser Default-Konstruktor ist fuer Unterklassen vorgesehen. Da er aber auch fuer die Cloneable-Implementierung benoetigt wird, ist er 'public'.
      Seit:
      1.0
    • Feld

      public Feld(String name, String s, Align alignment)
      Instantiates a new feld.
      Parameter:
      name - the name
      s - the s
      alignment - the alignment
    • Feld

      @Deprecated public Feld(Bezeichner name, int start, String s, Align alignment)
      Veraltet.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      Erzeugt ein neues Feld.
      Parameter:
      name - Name
      start - Start-Adresse
      s - der Inhalt
      alignment - the alignment
    • Feld

      public Feld(Bezeichner name, ByteAdresse start, String s, Align alignment)
      Erzeugt ein neues Feld.
      Parameter:
      name - Name
      start - Start-Adresse
      s - der Inhalt
      alignment - Ausrichtung
      Seit:
      7.0 (07-Jan-2024)
    • Feld

      @Deprecated public Feld(Bezeichner bezeichner, int length, int start, Align alignment)
      Veraltet.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      Erzeugt ein neues Feld.
      Parameter:
      bezeichner - der Name des Felds
      length - die Anzahl der Bytes
      start - die Start-Adresse
      alignment - die Ausrichtung
      Seit:
      1.0
    • Feld

      public Feld(Bezeichner bezeichner, int length, ByteAdresse start, Align alignment)
      Erzeugt ein neues Feld.
      Parameter:
      bezeichner - der Name des Felds
      length - die Anzahl der Bytes
      start - die Start-Adresse
      alignment - die Ausrichtung
      Seit:
      7.0 (07-Jan-2024)
    • Feld

      @Deprecated protected Feld(Bezeichner bezeichner, int length, int start, Align alignment, Config config)
      Veraltet.
    • Feld

      protected Feld(Bezeichner bezeichner, int length, ByteAdresse start, Align alignment, Config config)
    • Feld

      @Deprecated public Feld(String name, int length, int start, char c, Align alignment)
      Veraltet.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      Instantiates a new feld.
      Parameter:
      name - the name
      length - the length
      start - the start
      c - the c
      alignment - the alignment
    • Feld

      @Deprecated public Feld(String name, int length, int start, String s, Align alignment)
      Veraltet.
      durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      Instantiates a new feld.
      Parameter:
      name - the name
      length - the length
      start - the start
      s - the s
      alignment - the alignment
    • Feld

      @Deprecated public Feld(String name, int start, char c)
      Veraltet.
      durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      Instantiates a new feld.
      Parameter:
      name - the name
      start - the start
      c - the c
    • Feld

      @Deprecated public Feld(int start, String s, Align alignment)
      Veraltet.
      durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)
      Instantiates a new feld.
      Parameter:
      start - the start
      s - the s
      alignment - the alignment
    • Feld

      public Feld(ByteAdresse start, String s, Align alignment)
      Legt ein neues Feld an.
      Parameter:
      start - Start-Adresse
      s - Inhalt
      alignment - Ausrichtung
      Seit:
      7.0 (07-Jan-2024)
    • Feld

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

      protected Feld(Feld other, Config cfg)
  • Methodendetails

    • mitConfig

      public Feld mitConfig(Config c)
      Liefert eine neues Feld mit neuer Konfiguration
      Parameter:
      c - neue Konfiguration
      Gibt zurück:
      neues NumFeld
      Seit:
      5.3
    • getAusrichtung

      public Align getAusrichtung()
      Liefert die Ausrichtung eines Feldes. Dies ist hauptsaechlich fuer alhpanumerische Felder interessant.
      Gibt zurück:
      linksbuendig oder rechtsbuendig
    • setAusrichtung

      public void setAusrichtung(Align alignment)
      Hiermit kann man die Ausrichtung umstellen.
      Parameter:
      alignment - z.B. Align.LEFT
      Seit:
      6.1
    • getBezeichnung

      public String getBezeichnung()
      Gets the bezeichnung.
      Gibt zurück:
      the bezeichnung
    • getBezeichner

      public Bezeichner getBezeichner()
      Liefert den Bezeichner eines Feldes zurueck.

      Vor 1.0 lieferte diese Methode einen "String" zurueck. Aus Konsistenz-Gruenden wurde die alte Implementierung in "GetBzeichnerAsString" umbenannt.

      Gibt zurück:
      den Bezeichner des Feldes
      Seit:
      1.0
    • setInhalt

      public void setInhalt(String neuerInhalt)
      Setzt den Inhalt. Hierueber kann auch ein Inhalt gesetzt werden, der nicht zum Datentyp passt (z.B. Buchstaben in einem NumFeld, damit ein Import nicht beim ersten fehlerhaften Feld abbricht.

      Um festzustellen, ob ein Feld einen gueltigen Wert hat, kann die isValid()-Methode verwendet werden.

      Parameter:
      neuerInhalt - der neue Inhalt
    • pack

      protected String pack(String s)
    • truncate

      protected String truncate(String s)
      Schneidet einen zu langen String unabhaengig vom Alignment rechts ab.
      Parameter:
      s - String, der evtl. gekuerzt wird
      Gibt zurück:
      String der Laenge getAnzahlBytes()
    • setInhalt

      public void setInhalt(BigInteger n)
      Setzt den Inhalt mit der uebergebenen Zahl.
      Parameter:
      n - Zahl
      Seit:
      5.0
    • setInhalt

      public void setInhalt(BigDecimal n)
      Setzt den Inhalt aus der uebergebenen Zahl.
      Parameter:
      n - der neue Inhalt
    • setInhalt

      public void setInhalt(long n)
      Setzt den Inhalt aus der uebergebenen Zahl.
      Parameter:
      n - der neue Inhalt
    • setInhalt

      public void setInhalt(char c)
      Sets the inhalt.
      Parameter:
      c - the new inhalt
    • setInhalt

      public void setInhalt(char c, int i)
      Sets the inhalt.
      Parameter:
      c - zu setzendes Zeichen
      i - index, beginnend bei 0
    • getInhalt

      public String getInhalt()
      Liefert den Inhalt, so wie er im Record steht (ungetrimm't).
      Gibt zurück:
      den Inhalt
    • withInhalt

      public Feld withInhalt(String inhalt)
      Setzt das Feld und liefert es als Ergebnis zurueck.
      Parameter:
      inhalt - neuer Inhalt
      Gibt zurück:
      das gesetzte Feld
      Seit:
      5.0
    • resetInhalt

      public void resetInhalt()
      Reset inhalt.
    • getAnzahlBytes

      public final int getAnzahlBytes()
      Gets the anzahl bytes.
      Gibt zurück:
      the anzahl bytes
    • getByteAdresse

      public final int getByteAdresse()
      Gets the byte adresse.
      Gibt zurück:
      Byte-Adresse, beginnend bei 1
    • getEndAdresse

      public final int getEndAdresse()
      Gets the end adresse.
      Gibt zurück:
      absolute End-Adresse
    • overlapsWith

      public final boolean overlapsWith(Feld other)
      Ueberprueft, ob sich zwei Felder mit unterschiedlichen Start-Adressen ueberlagern.
      Parameter:
      other - das andere Feld
      Gibt zurück:
      true, falls sich die Felder ueberlappen
    • write

      public final void write(Writer writer) throws IOException
      Write.
      Parameter:
      writer - the writer
      Löst aus:
      IOException - Signals that an I/O exception has occurred.
    • isEmpty

      public boolean isEmpty()
      Checks if is empty.
      Gibt zurück:
      true, if is empty
    • hasValue

      public boolean hasValue()
      Dient zum Ermittel, ob ein Werte schon gesetzt wurde. Dabei werden typische Initialisierungswerte wie "0" als "nicht gesetzt" interpretiert.
      Gibt zurück:
      true, falls Feld mit einem Wert belegt ist
      Seit:
      3.1
    • isValid

      public boolean isValid()
      Valid bedeutet: Byte-Adresse >= 1, Feld geht nicht ueber (Teil-)Datensatz-Grenze hinaus, Ausrichtung ist bekannt.

      Aus Performance-Gruenden stuetzt sich diese Methode nicht direkt auf validate(), sondern implementiert die entsprechenden Abfragen selbst und bricht ab, wenn er etwas ungueltiges findet.

      Gibt zurück:
      false, falls Verletzung erkannt wird
      Seit:
      0.1.0
    • isInvalid

      public boolean isInvalid()
      Checks if is invalid.
      Gibt zurück:
      true, if is invalid
    • validate

      public List<net.sf.oval.ConstraintViolation> validate()
      Validate.
      Gibt zurück:
      eine Liste mit Constraint-Verletzungen
    • validate

      public List<net.sf.oval.ConstraintViolation> validate(Config validationConfig)
      Validiert das Feld mit der angegebenen Konfiguration.
      Parameter:
      validationConfig - Konfiguration
      Gibt zurück:
      Liste mit Validierungsfehler
    • format

      public String format()
      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".
      Gibt zurück:
      Inhalt des Feldes
      Seit:
      0.5.1
    • toString

      public String toString()
      Setzt außer Kraft:
      toString in Klasse Object
    • toShortString

      public String toShortString()
    • equals

      public boolean equals(Object obj)
      Zwei Felder sind gleich, wenn sie die gleiche Adresse und den gleichen Inhalt haben.

      ACHTUNG: Bis v5.1 wurde noch die Ausrichtung fuer die Gleichheit herangezogen. Ab v5.1 spielt dies aber keine Rolle mehr.

      Setzt außer Kraft:
      equals in Klasse Object
      Parameter:
      obj - das andere Feld
      Gibt zurück:
      true, wenn beide Felder gleich sind
      Siehe auch:
    • hashCode

      public int hashCode()
      Setzt außer Kraft:
      hashCode in Klasse Object
    • compareTo

      public final int compareTo(Feld other)
      Es gilt fuer Feld a und b: a < b, wenn die Start-Adresse von a vor b liegt.
      Angegeben von:
      compareTo in Schnittstelle Comparable<Feld>
      Parameter:
      other - das andere Feld
      Gibt zurück:
      0 wenn beide Felder die gleiche Startadresse haben
    • getValidator

      public Feld.Validator getValidator()
      Hierueber kann der Validator zur Pruefung im Vorfeld geholt werden.
      Gibt zurück:
      aktuellen Validator
    • clone

      public Object clone()
      Die clone-Methode hat gegenueber dem CopyConstructor Feld(Feld) den Vorteil, dass es den richtigen Typ fuer die abgeleiteten Klassen zurueckliefert.
      Setzt außer Kraft:
      clone in Klasse Object
      Gibt zurück:
      eine Kopie