Package gdv.xport.feld
Class Feld
java.lang.Object
gdv.xport.feld.Feld
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<Feld>
- Direct Known Subclasses:
AlphaNumFeld
,FeldXml
,NumFeld
,Undefiniert
,Version
Die Feld-Klasse bezieht ihre Information hauptsaechlich aus Enum-Klassen wie
Feld100 oder Feld1bis7, die mit Annotationen versehen sind.
- Since:
- 04.10.2009
- 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
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionFeld()
Legt ein neues Feld an.Deprecated.durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Feld
(Bezeichner bezeichner, int length, int start, Align alignment) Deprecated.durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)protected
Feld
(Bezeichner bezeichner, int length, int start, Align alignment, Config config) Deprecated.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) Deprecated.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.Dies ist der Copy-Constructor, mit dem man ein bestehendes Feld kopieren kann.protected
Deprecated.durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Deprecated.durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Deprecated.durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Instantiates a new feld. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Die clone-Methode hat gegenueber dem CopyConstructorFeld(Feld)
den Vorteil, dass es den richtigen Typ fuer die abgeleiteten Klassen zurueckliefert.final int
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.format()
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
hashCode()
final boolean
hasValue()
Dient zum Ermittel, ob ein Wert schon gesetzt wurde.boolean
isEmpty()
Checks if is empty.boolean
Checks if is invalid.boolean
isValid()
Valid bedeutet: Byte-Adresse >= 1, Feld geht nicht ueber (Teil-)Datensatz-Grenze hinaus, Ausrichtung ist bekannt.Liefert eine neues Feld mit neuer Konfigurationfinal boolean
overlapsWith
(Feld other) Ueberprueft, ob sich zwei Felder mit unterschiedlichen Start-Adressen ueberlagern.protected String
final 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
Setzt den Inhalt.void
Setzt den Inhalt aus der uebergebenen Zahl.void
Setzt den Inhalt mit der uebergebenen Zahl.toString()
protected String
Schneidet einen zu langen String unabhaengig vom Alignment rechts ab.List<net.sf.oval.ConstraintViolation>
validate()
Validate.List<net.sf.oval.ConstraintViolation>
Validiert das Feld mit der angegebenen Konfiguration.withInhalt
(String inhalt) Setzt das Feld und liefert es als Ergebnis zurueck.final void
Write.
-
Field Details
-
NULL_FELD
statt "null". -
inhalt
-
config
-
-
Constructor Details
-
Feld
public Feld()Legt ein neues Feld an. Dieser Default-Konstruktor ist fuer Unterklassen vorgesehen. Da er aber auch fuer dieCloneable
-Implementierung benoetigt wird, ist er 'public'.- Since:
- 1.0
-
Feld
Instantiates a new feld.- Parameters:
name
- the names
- the salignment
- the alignment
-
Feld
Deprecated.durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Erzeugt ein neues Feld.- Parameters:
name
- Namestart
- Start-Adresses
- der Inhaltalignment
- the alignment
-
Feld
Erzeugt ein neues Feld.- Parameters:
name
- Namestart
- Start-Adresses
- der Inhaltalignment
- Ausrichtung- Since:
- 7.0 (07-Jan-2024)
-
Feld
Deprecated.durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Erzeugt ein neues Feld.- Parameters:
bezeichner
- der Name des Feldslength
- die Anzahl der Bytesstart
- die Start-Adressealignment
- die Ausrichtung- Since:
- 1.0
-
Feld
Erzeugt ein neues Feld.- Parameters:
bezeichner
- der Name des Feldslength
- die Anzahl der Bytesstart
- die Start-Adressealignment
- die Ausrichtung- Since:
- 7.0 (07-Jan-2024)
-
Feld
@Deprecated protected Feld(Bezeichner bezeichner, int length, int start, Align alignment, Config config) Deprecated. -
Feld
protected Feld(Bezeichner bezeichner, int length, ByteAdresse start, Align alignment, Config config) -
Feld
Deprecated.durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Instantiates a new feld.- Parameters:
name
- the namelength
- the lengthstart
- the startc
- the calignment
- the alignment
-
Feld
Deprecated.durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Instantiates a new feld.- Parameters:
name
- the namelength
- the lengthstart
- the starts
- the salignment
- the alignment
-
Feld
Deprecated.durch entsprechenden Constructor mit Bezeichner und ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Instantiates a new feld.- Parameters:
name
- the namestart
- the startc
- the c
-
Feld
Deprecated.durch entsprechenden Constructor mit ByteAdresse ersetzt (TODO: wird mit v8 entsorgt)Instantiates a new feld.- Parameters:
start
- the starts
- the salignment
- the alignment
-
Feld
Legt ein neues Feld an.- Parameters:
start
- Start-Adresses
- Inhaltalignment
- Ausrichtung- Since:
- 7.0 (07-Jan-2024)
-
Feld
Dies ist der Copy-Constructor, mit dem man ein bestehendes Feld kopieren kann.- Parameters:
other
- das originale Feld
-
Feld
-
-
Method Details
-
mitConfig
Liefert eine neues Feld mit neuer Konfiguration- Parameters:
c
- neue Konfiguration- Returns:
- neues NumFeld
- Since:
- 5.3
-
getAusrichtung
Liefert die Ausrichtung eines Feldes. Dies ist hauptsaechlich fuer alhpanumerische Felder interessant.- Returns:
- linksbuendig oder rechtsbuendig
-
setAusrichtung
Hiermit kann man die Ausrichtung umstellen.- Parameters:
alignment
- z.B.Align.LEFT
- Since:
- 6.1
-
getBezeichnung
Gets the bezeichnung.- Returns:
- the bezeichnung
-
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.
- Returns:
- den Bezeichner des Feldes
- Since:
- 1.0
-
setInhalt
Setzt den Inhalt. Hierueber kann auch ein Inhalt gesetzt werden, der nicht zum Datentyp passt (z.B. Buchstaben in einemNumFeld
, damit ein Import nicht beim ersten fehlerhaften Feld abbricht.Um festzustellen, ob ein Feld einen gueltigen Wert hat, kann die
isValid()
-Methode verwendet werden.- Parameters:
neuerInhalt
- der neue Inhalt
-
pack
-
truncate
Schneidet einen zu langen String unabhaengig vom Alignment rechts ab.- Parameters:
s
- String, der evtl. gekuerzt wird- Returns:
- String der Laenge
getAnzahlBytes()
-
setInhalt
Setzt den Inhalt mit der uebergebenen Zahl.- Parameters:
n
- Zahl- Since:
- 5.0
-
setInhalt
Setzt den Inhalt aus der uebergebenen Zahl.- Parameters:
n
- der neue Inhalt
-
setInhalt
public void setInhalt(long n) Setzt den Inhalt aus der uebergebenen Zahl.- Parameters:
n
- der neue Inhalt
-
setInhalt
public void setInhalt(char c) Sets the inhalt.- Parameters:
c
- the new inhalt
-
setInhalt
public void setInhalt(char c, int i) Sets the inhalt.- Parameters:
c
- zu setzendes Zeicheni
- index, beginnend bei 0
-
getInhalt
Liefert den Inhalt, so wie er im Record steht (ungetrimm't).- Returns:
- den Inhalt
-
withInhalt
Setzt das Feld und liefert es als Ergebnis zurueck.- Parameters:
inhalt
- neuer Inhalt- Returns:
- das gesetzte Feld
- Since:
- 5.0
-
resetInhalt
public final void resetInhalt()Reset inhalt. -
getAnzahlBytes
public final int getAnzahlBytes()Gets the anzahl bytes.- Returns:
- the anzahl bytes
-
getByteAdresse
public final int getByteAdresse()Gets the byte adresse.- Returns:
- Byte-Adresse, beginnend bei 1
-
getEndAdresse
public final int getEndAdresse()Gets the end adresse.- Returns:
- absolute End-Adresse
-
overlapsWith
Ueberprueft, ob sich zwei Felder mit unterschiedlichen Start-Adressen ueberlagern.- Parameters:
other
- das andere Feld- Returns:
- true, falls sich die Felder ueberlappen
-
write
Write.- Parameters:
writer
- the writer- Throws:
IOException
- Signals that an I/O exception has occurred.
-
isEmpty
public boolean isEmpty()Checks if is empty.- Returns:
- true, if is empty
-
hasValue
public final boolean hasValue()Dient zum Ermittel, ob ein Wert schon gesetzt wurde.- Returns:
- true, falls Feld mit einem Wert belegt ist
- Since:
- 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.
- Returns:
- false, falls Verletzung erkannt wird
- Since:
- 0.1.0
-
isInvalid
public boolean isInvalid()Checks if is invalid.- Returns:
- true, if is invalid
-
validate
Validate.- Returns:
- eine Liste mit Constraint-Verletzungen
-
validate
Validiert das Feld mit der angegebenen Konfiguration.- Parameters:
validationConfig
- Konfiguration- Returns:
- Liste mit Validierungsfehler
-
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".- Returns:
- Inhalt des Feldes
- Since:
- 0.5.1
-
toString
-
toShortString
-
equals
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.
-
hashCode
public int hashCode() -
compareTo
Es gilt fuer Feld a und b: a < b, wenn die Start-Adresse von a vor b liegt.- Specified by:
compareTo
in interfaceComparable<Feld>
- Parameters:
other
- das andere Feld- Returns:
- 0 wenn beide Felder die gleiche Startadresse haben
-
getValidator
Hierueber kann der Validator zur Pruefung im Vorfeld geholt werden.- Returns:
- aktuellen Validator
-
clone
Die clone-Methode hat gegenueber dem CopyConstructorFeld(Feld)
den Vorteil, dass es den richtigen Typ fuer die abgeleiteten Klassen zurueckliefert.
-