Package org.kapott.hbci.sepa
Class SepaVersion
- java.lang.Object
-
- org.kapott.hbci.sepa.SepaVersion
-
- All Implemented Interfaces:
Comparable<SepaVersion>
public class SepaVersion extends Object implements Comparable<SepaVersion>
Basis-Klasse fuer das Parsen und Vergleichen von SEPA Versionen (PAIN und CAMT).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SepaVersion.Type
Enum fuer die Gruppierung der verschienden Typen von Geschaeftsvorfaellen.
-
Field Summary
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SepaVersion
autodetect(InputStream xml)
Ermittelt die SEPA-Version aus dem uebergebenen XML-Stream.static SepaVersion
byURN(String urn)
Liefert die SEPA-Version aus dem URN.boolean
canGenerate(String jobName)
Prueft, ob fuer die SEPA-Version ein Generator vorhanden ist, der fuer den angegebenen HBCI4Java-Job die SEPA-XML-Dateien erzeugen kann.boolean
canParse()
Prueft, ob fuer die SEPA-Version ein Parser vorhanden ist, der SEPA-XML-Dateien dieser Version lesen kann.static SepaVersion
choose(String sepadesc, String sepadata)
Die Bank sendet in ihren Antworten sowohl den SEPA-Deskriptor als auch die SEPA-Daten (die XML-Datei) selbst.int
compareTo(SepaVersion v)
boolean
equals(Object obj)
static SepaVersion
findGreatest(List<SepaVersion> list)
Findet in den der Liste die hoechste SEPA-Version.String
getFile()
Liefert den Dateinamen des Schemas insofern bekannt.String
getGeneratorClass(String jobName)
Erzeugt den Namen der Java-Klasse des zugehoerigen SEPA-Generators.static List<SepaVersion>
getKnownVersions(SepaVersion.Type t)
Liefert eine Liste der bekannten SEPA-Versionen fuer den angegebenen Typ.int
getMajor()
Liefert die Major-Versionsnumer.int
getMinor()
Liefert die Minor-Versionsnumer.String
getParserClass()
Erzeugt den Namen der Java-Klasse des zugehoerigen SEPA-Parsers.String
getSchemaLocation()
Liefert einen String "" zurueck, der im erzeugten XML als "xsi:schemaLocation" verwendet werden kann. SepaVersion.Type
getType()
Liefert den Typ der SEPA-Version.String
getURN()
Liefert die URN der SEPA-Version.int
hashCode()
boolean
isSupported(String jobName)
Prueft, ob die SEPA-Version unterstuetzt wird.String
toString()
-
-
-
Field Detail
-
PAIN_001_001_02
public static SepaVersion PAIN_001_001_02
-
PAIN_001_002_02
public static SepaVersion PAIN_001_002_02
-
PAIN_001_002_03
public static SepaVersion PAIN_001_002_03
-
PAIN_001_003_03
public static SepaVersion PAIN_001_003_03
-
PAIN_001_001_03
public static SepaVersion PAIN_001_001_03
-
PAIN_001_001_09
public static SepaVersion PAIN_001_001_09
-
PAIN_001_001_11
public static SepaVersion PAIN_001_001_11
-
PAIN_002_002_02
public static SepaVersion PAIN_002_002_02
-
PAIN_002_003_03
public static SepaVersion PAIN_002_003_03
-
PAIN_002_001_03
public static SepaVersion PAIN_002_001_03
-
PAIN_002_001_10
public static SepaVersion PAIN_002_001_10
-
PAIN_002_001_11
public static SepaVersion PAIN_002_001_11
-
PAIN_008_001_01
public static SepaVersion PAIN_008_001_01
-
PAIN_008_002_01
public static SepaVersion PAIN_008_002_01
-
PAIN_008_002_02
public static SepaVersion PAIN_008_002_02
-
PAIN_008_003_02
public static SepaVersion PAIN_008_003_02
-
PAIN_008_001_02
public static SepaVersion PAIN_008_001_02
-
PAIN_008_001_08
public static SepaVersion PAIN_008_001_08
-
PAIN_008_001_10
public static SepaVersion PAIN_008_001_10
-
CAMT_052_001_01
public static SepaVersion CAMT_052_001_01
-
CAMT_052_001_02
public static SepaVersion CAMT_052_001_02
-
CAMT_052_001_03
public static SepaVersion CAMT_052_001_03
-
CAMT_052_001_04
public static SepaVersion CAMT_052_001_04
-
CAMT_052_001_05
public static SepaVersion CAMT_052_001_05
-
CAMT_052_001_06
public static SepaVersion CAMT_052_001_06
-
CAMT_052_001_07
public static SepaVersion CAMT_052_001_07
-
CAMT_052_001_08
public static SepaVersion CAMT_052_001_08
-
CAMT_052_001_09
public static SepaVersion CAMT_052_001_09
-
-
Method Detail
-
byURN
public static SepaVersion byURN(String urn)
Liefert die SEPA-Version aus dem URN.- Parameters:
urn
- URN. In der Form "urn:iso:std:iso:20022:tech:xsd:pain.001.002.03" oder in der alten Form "sepade.pain.001.001.02.xsd".- Returns:
- die SEPA-Version.
-
getSchemaLocation
public String getSchemaLocation()
Liefert einen String "" zurueck, der im erzeugten XML als "xsi:schemaLocation" verwendet werden kann. - Returns:
- Schema-Location oder NULL, wenn "file" nicht gesetzt wurde.
-
getGeneratorClass
public String getGeneratorClass(String jobName)
Erzeugt den Namen der Java-Klasse des zugehoerigen SEPA-Generators.- Parameters:
jobName
- der Job-Name. Z.Bsp. "UebSEPA".- Returns:
- der Name der Java-Klasse des zugehoerigen SEPA-Generators.
-
getParserClass
public String getParserClass()
Erzeugt den Namen der Java-Klasse des zugehoerigen SEPA-Parsers.- Returns:
- der Name der Java-Klasse des zugehoerigen SEPA-Parsers.
-
canGenerate
public boolean canGenerate(String jobName)
Prueft, ob fuer die SEPA-Version ein Generator vorhanden ist, der fuer den angegebenen HBCI4Java-Job die SEPA-XML-Dateien erzeugen kann.- Parameters:
jobName
- der Job-Name. Z.Bsp. "UebSEPA".- Returns:
- true, wenn ein Generator vorhanden ist.
-
canParse
public boolean canParse()
Prueft, ob fuer die SEPA-Version ein Parser vorhanden ist, der SEPA-XML-Dateien dieser Version lesen kann.- Returns:
- true, wenn ein Parser vorhanden ist.
-
isSupported
public boolean isSupported(String jobName)
Prueft, ob die SEPA-Version unterstuetzt wird.- Parameters:
jobName
- der Job-Name.- Returns:
- true, wenn die SEPA-Version unterstuetzt wird.
-
getType
public SepaVersion.Type getType()
Liefert den Typ der SEPA-Version.- Returns:
- der Typ der SEPA-Version.
-
getMajor
public int getMajor()
Liefert die Major-Versionsnumer.- Returns:
- die Major-Versionsnumer.
-
getMinor
public int getMinor()
Liefert die Minor-Versionsnumer.- Returns:
- die Minor-Versionsnumer.
-
getURN
public String getURN()
Liefert die URN der SEPA-Version.- Returns:
- die URN der SEPA-Version.
-
getFile
public String getFile()
Liefert den Dateinamen des Schemas insofern bekannt.- Returns:
- der Dateiname des Schema oder null.
-
findGreatest
public static SepaVersion findGreatest(List<SepaVersion> list)
Findet in den der Liste die hoechste SEPA-Version.- Parameters:
list
- Liste mit SEPA-Versionen.- Returns:
- die hoechste Version oder NULL wenn die Liste leer ist.
-
getKnownVersions
public static List<SepaVersion> getKnownVersions(SepaVersion.Type t)
Liefert eine Liste der bekannten SEPA-Versionen fuer den angegebenen Typ.- Parameters:
t
- der Typ.- Returns:
- Liste der bekannten SEPA-Versionen fuer den angegebenen Typ.
-
autodetect
public static SepaVersion autodetect(InputStream xml)
Ermittelt die SEPA-Version aus dem uebergebenen XML-Stream.- Parameters:
xml
- der XML-Stream. Achtung: Da der Stream hierbei gelesen werden muss, sollte eine Kopie des Streams uebergeben werden. Denn nach dem Lesen des Streams, kann er nicht erneut gelesen werden. Der Stream wird von dieser Methode nicht geschlossen. Das ist Aufgabe des Aufrufers.- Returns:
- die ermittelte SEPA-Version oder NULL wenn das XML-Document keine entsprechenden Informationen enthielt.
-
choose
public static SepaVersion choose(String sepadesc, String sepadata)
Die Bank sendet in ihren Antworten sowohl den SEPA-Deskriptor als auch die SEPA-Daten (die XML-Datei) selbst. Diese Funktion ermittelt sowohl aus dem SEPA-Deskriptor als auch aus den SEPA-Daten die angegebene SEPA-Version und vergleicht beide. Stimmen sie nicht ueberein, wird eine Warnung ausgegeben. Die Funktion liefert anschliessend die zum Parsen passende Version zurueck. Falls sich die angegebenen Versionen unterscheiden, wird die in den XML-Daten angegebene Version zurueckgeliefert. Siehe https://www.willuhn.de/bugzilla/show_bug.cgi?id=1806- Parameters:
sepadesc
- die in der HBCI-Nachricht angegebene SEPA-Version.sepadata
- die eigentlichen XML-Daten.- Returns:
- die zum Parsen zu verwendende SEPA-Version. NULL, wenn keinerlei Daten angegeben wurden.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classObject
- See Also:
Object.hashCode()
-
equals
public boolean equals(Object obj)
- Overrides:
equals
in classObject
- See Also:
Object.equals(java.lang.Object)
-
compareTo
public int compareTo(SepaVersion v)
- Specified by:
compareTo
in interfaceComparable<SepaVersion>
- See Also:
Comparable.compareTo(java.lang.Object)
-
toString
public String toString()
- Overrides:
toString
in classObject
- See Also:
Object.toString()
-
-