| Note: This page is also available in english. Änderungshistorie siehe Ende der Seite 
  | HitUpros/LomCoder2.javaHitUpros/LomNumber.java
 HitUpros/LomCoderErrors.java
 | Dies sind die elementaren Klassen: Der LomCoder2stellt die
generischen Methoden zur Verfügung, mit denen jede Ohrmarke unabhängig von
ihrem Land verarbeitet werden kann. Die Klasse greift dann automatisch auf die
länderspezifische Klasse, siehe unten, zu.Die Erkennung und Umwandlung liefert ein Ergebnis, die dann in einem Objekt
der Klasse LomNumbergespeichert wird - vorausgesetzt, es wird kein
Fehler geliefert. Details über den Fehlercode lassen sich über die KlasseLomCoderErrorsermitteln. |  
  | HitUpros/Lom_AT.javaHitUpros/Lom_BE.java
 HitUpros/Lom_BG.java
 HitUpros/Lom_CH.java
 HitUpros/Lom_CY.java
 HitUpros/Lom_CZ.java
 HitUpros/Lom_DE.java
 HitUpros/Lom_DK.java
 HitUpros/Lom_EE.java
 HitUpros/Lom_EL.java
 HitUpros/Lom_ES.java
 HitUpros/Lom_FI.java
 HitUpros/Lom_FR.java
 HitUpros/Lom_HR.java
 HitUpros/Lom_HU.java
 HitUpros/Lom_IE.java
 HitUpros/Lom_IT.java
 HitUpros/Lom_LT.java
 HitUpros/Lom_LU.java
 HitUpros/Lom_LV.java
 HitUpros/Lom_MT.java
 HitUpros/Lom_NL.java
 HitUpros/Lom_PL.java
 HitUpros/Lom_PT.java
 HitUpros/Lom_RO.java
 HitUpros/Lom_SE.java
 HitUpros/Lom_SI.java
 HitUpros/Lom_SK.java
 HitUpros/Lom_UK.java
 HitUpros/Lom_DY.java
 | Für jedes der 27 Länder gibt es eine Klasse, die Funktionalität der
Ohrmarkennummern über einheitliche Aufrufe abbildet. Das Kürzel nach dem Lom_entspricht dem ISO-Standard.Lom_DYbildet hierbei einen Sonderfall: dies sind Ohrmarken, die
in HIT nicht gespeichert werden können und somit im "DUMMY"-Format
verwendet werden. In HIT gibt es dann dazu eine Übersetzungstabelle.
 Anmerkung: Früher wurde Griechenland irrtümlich als GRgekennzeichnet, es hat aber nach ISO-Norm das KürzelEL. Im Mai
2004 wurde daher die Klasse umbenannt, ohne jedoch die Funktionalität zu
ändern. |  
  | HitUpros/LomCountryInterface.javaHitUpros/LomEU.java
 HitUpros/LomDate.java
HitUpros/HitException.javaHitUpros/HitHelpers.java
 HitUpros/HitSimpleDTS.java
 | LomEUist die Basisklasse aller oben genannten Länderklassen.
Diese enthält die Standardmethoden, die zum Großteil vorbereitende Aufgaben
(z.B. Normierung der Ohrmarken-Strings etc) für die Länderklassen übernehmen.
DasLomCountryInterfacelegt die Methoden fest, die jede
Länderklasse zu haben hat.Die Klassen HitHelpers,HitSimpleDTSundHitExceptionsind Hilfsklassen und Unterprogrammsammlungen, die HIT-weit verwendet werden und
auch bei den Ohrmarken Verwendung finden. [20040902] Ende August 2004 wurde
HitDateaufgelöst und mitHitHelpersin andere
Klassen, meistHitSimpleDTS, umgelagert. [20100811]
 LomDatewurde für die Konvertierung von Java in andere
Programmiersprachen angelegt. .NET beispielsweise hat keinen Objekttyp
für Datumsangaben und dementsprechend keine exakte Entsprechung zumjava.util.Date.
Dies wird mitLomDatesimuliert. [20201021] HitHelpersundHitSimpleDTSsind 
optional: löscht man beide Dateien, lässt sich der Source per se compilieren. Die 
beiden Klassen enthalten lediglich Anwendungsbeispiele für den LomCoder. |  
  | HitUpros/LomSchafeZiegen.javaHitUpros/LomSchweine.java
 | LomSchafeZiegenundLomSchweinesind Klassen zur
LOM-Prüfung für Schweine und Schafe/Ziegen. |  
  | HitLom/LomsToCSV.javaHitLom/LomObject.javaHitLom/Demo_LomObject.java
 | Im Package HitLomfinden sich zwei Programme und ein Hilfsobjekt.Das Programm LomsToCSVerwartet eine Datei mit Ohrmarken und
gibt -je nach Parameter- eine CSV-Datei aus, in der dann die umgewandelten
Ohrmarken bzw. fehlerhaften Ohrmarken mit Fehlerbeschreibung stehen. Dies kann
in Batch-Jobs zum seriellen Umwandeln verwendet werden. Siehe auch die eigene
Anleitung hierfür. Das LomObjectdient der einfachen Handhabung von Ohrmarken, um
Ohrmarkenmanipulationen als COM oder Dot:NET Object zu ermöglichen. Um die
Anwendung (leicht auf andere Sprachen übertragbar) in Java zu demonstrieren,
wird das ProgrammDemo_LomObjectverwendet. |    Nachfolgendes Beispiel gilt hauptsächlich für Java und
ähnliche OO-Sprachen. Um eine Ohrmarke zu prüfen, wird diese über den LomCoder2und dessen MethodesintEncodeLom()aufgerufen. Da wir aber zwei
Rückgabewerte erwarten (numerische Ohrmarke und Fehlercode), aber nur einen zurückerhalten können, unterstütztLomNumberdie Rückgabe der geprüften und codierten Ohrmarke. Zuerst wird also ein Objekt von LomNumberangelegt: 
  LomNumber objLom = new LomNumber();
 Danach wird die generische Klasse LomCoder2mit
der statischen MethodesintEncodeLom()aufgerufen, welche zwei bzw
drei Parameter erwartet (Ohrmarke als String, dasLomNumber-Objekt und
schließlich ggf. ein Datum, zu dem die Ohrmarke geprüft werden soll): 
  String strLom = "DE0196442853";int intFehler = LomCoder2.sintEncodeLom(strLom,objLom);
 Nach dem Aufruf erhält man eine Fehlernummer und im Objekt objLomeventuell die codierte (numerische) Ohrmarke. Zur Fehlerbehandlung ist in jedem Fall die
KlasseLomCoderErrorszu Rate zu ziehen: sie liefert über die
MethodesintGetFehlerSchwere()einen 'allgemeineren' Fehlercode
zurück, der der Schwere des HIT-Systems entspricht (d.h. 0=Ok,
1=Hinweis, 2=Nachfrage, 3=Fehler, 4=Panik). Ist die Fehlerschwere 0 oder 1, dann
steht inobjLomdie codierte Ohrmarke (in numerischer Form). Bei
Fehlerschweren größer 1 wurde nichts codiert und man erhält über die MethodesstrGetError()die Fehlermeldung zur Fehlernummer. 
  int intSchwere =
  LomCoderErrors.sintGetFehlerSchwere(intFehler);
 if (intSchwere > 1)  {String strFehler = LomCoderErrors.sstrGetError(intFehler);
 System.err.println("Fehler bei Lom "+strLom+":
  "+strFehler);
 }
 else  {
 System.out.println(strLom+" = "+objLom.getLom())
 }
 Um die Ohrmarke in formatierter Form auszugeben, greifen wir
auf die Methode sstrToFormattedString()der KlasseLomCoder2zurück: 
  String strFormatiert = LomCoder2.sstrToFormattedString(objLom);
 Damit ließe sich obengenannte Beispielohrmarke als DE
01 964 42853ausgeben. Möchte man die 15stellige numerische Form einer EU-Ohrmarke
haben, läßt man sich diese aus  objLomüber getLom()geben (vorausgesetzt, es gab keinen Fehler): 
  String strNumerisch = objLom.getLom();
   Um für eigene Zwecke die Anwendung zu vereinfachen (z.B.
nach einer Umwandlung in ein COM bzw. Dot.NET-Objekt) gibt es die Klasse LomObject.
Diese faßt das eben beschriebene Procedere in einfache Methoden zusammen: 
  LomObject objLomcoder = new LomObject();String strFormatiert = objLomcoder.encodeLom(strLom);
 if (objLomcoder.wasError())   {
 System.err.println("Fehler: "+objLomcoder.getError());
 }
 else  {
 System.out.println(strFormatiert);
 }
 Erst wird die Ohrmarke via encodeLom()(für die
formatierte Ausgabe) oderdecodeLom()(für die numerische Ausgabe)
konvertiert, dann viawasError()geprüft, ob bei der zuletzt
vorangegangenen Konvertierung ein Fehler auftrat. Wenn ja, kann man sich die
Fehlermeldung viagetError()holen, anderenfalls hat der Aufruf vonencodeLom()bzw.decodeLom()eine Ohrmarke geliefert. Man kann auch direkt getError()abholen, ohnewasError()abgefragt zu haben: bei einer korrekten Konvertierung liefert sie eine leere
Zeichenkette. Möchte man auf die Fehlerbehandlung völlig verzichten (was nicht
anzuraten ist), läßt sich überencodeLom()bzw.decodeLom()auch erkennen, ob eine Ohrmarke falsch war: sie liefern dann jeweils eine leere Zeichenkette.   Die Zip-Datei enthält nur die Sourcen für die Ohrmarkencodierung.
Wollen Sie diese unverändert in Ihren Java-Programmen verwenden, sollten Sie sich das
Applet-Archiv herunterladen. Dieses können
Sie dann in eigenen Programmen aufrufen, wie oben unter Anwendung
oder unter Vereinfachtung für externe Aufrufe
beschrieben:  Ab
dem 01.05.2004 sind 10 neue Länder (EU-Osterweiterung) dazugekommen (es liegen
aber nicht für alle Länder eine Codiervorschrift vor, so daß für diese eine
15stellige LOM als Vorgabe erwartet wird). Für
detailierte Ausführungen lese man bei den Alpha-Lom-Codierungen
nach.  Ab
dem 01.01.2007 sind zwei neue Länder (BG und RO) dazugekommen. Zum 01.07.2013 ist Krotatien (HR) der EU beigetreten.   
| 09.07.2018 | lomcoder.zip aktualisiert |  
| 24.04.2018 | lomcoder.zip aktualisiert (und umbenannt worden) |  
| 28.04.2015 | lomcoder3.zip aktualisiert |  
| 10.07.2013 | lomcoder3.zip aktualisiert, HR dazu |  
| 07.02.2013 | lomcoder3.zip aktualisiert, RO angepaßt (neue Gebietscodes), Schweine und
  Schafe/Ziegen LOMs hinzugefügt. |  
| 01.08.2010 | lomcoder3.zip aktualisiert, CH dazu. |  
| 22.09.2009 | lomcoder3.zip aktualisiert, Prüfziffer-Überprüfung bei FI korrigiert. |  
| 12.02.2007 | lomcoder3.zip aktualisiert, BG und RO hinzugefügt. |  
| 02.09.2004 | lomcoder3.zip aktualisiert, nachdem in HitUpros einige Klassen und Methoden refaktorisiert wurden. |  
| 02.09.2004 | Englische Doku dieser Seite ergänzt. |  |