Package org.kapott.hbci.sepa
Class SepaVersion
java.lang.Object
org.kapott.hbci.sepa.SepaVersion
- All Implemented Interfaces:
Comparable<SepaVersion>
Basis-Klasse fuer das Parsen und Vergleichen von SEPA Versionen (PAIN und CAMT).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static enum
Legt fest, ab wann eine SEPA-Version als unterstuetzt angesehen werden kann.static enum
Enum fuer die Gruppierung der verschienden Typen von Geschaeftsvorfaellen. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
private static final String
private static final String
private String
private static final Map
<SepaVersion.Type, List<SepaVersion>> private int
private int
private int
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
static SepaVersion
private static final Pattern
private SepaVersion.SupportType
private SepaVersion.Type
private String
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
SepaVersion
(SepaVersion.SupportType support, int order, String urn, String file, boolean add) Erzeugt eine SEPA-Version aus dem URN bzw dem Dateinamen. -
Method Summary
Modifier and TypeMethodDescriptionstatic SepaVersion
autodetect
(InputStream xml) Ermittelt die SEPA-Version aus dem uebergebenen XML-Stream.static SepaVersion
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
Die Bank sendet in ihren Antworten sowohl den SEPA-Deskriptor als auch die SEPA-Daten (die XML-Datei) selbst.int
boolean
static SepaVersion
findGreatest
(List<SepaVersion> list) Findet in den der Liste die hoechste SEPA-Version.private static SepaVersion.Type
Liefert den enum-Type fuer den angegebenen Wert.getFile()
Liefert den Dateinamen des Schemas insofern bekannt.getGeneratorClass
(String jobName) Erzeugt den Namen der Java-Klasse des zugehoerigen SEPA-Generators.static List
<SepaVersion> Liefert eine Liste der bekannten SEPA-Versionen fuer den angegebenen Typ.int
getMajor()
Liefert die Major-Versionsnumer.int
getMinor()
Liefert die Minor-Versionsnumer.Erzeugt den Namen der Java-Klasse des zugehoerigen SEPA-Parsers.Liefert einen String "" zurueck, der im erzeugten XML als "xsi:schemaLocation" verwendet werden kann. getType()
Liefert den Typ der SEPA-Version.getURN()
Liefert die URN der SEPA-Version.int
hashCode()
boolean
isSupported
(String jobName) Prueft, ob die SEPA-Version unterstuetzt wird.toString()
-
Field Details
-
PATTERN
-
knownVersions
-
DF_MAJOR
- See Also:
-
DF_MINOR
- See Also:
-
PAIN_001_001_02
-
PAIN_001_002_02
-
PAIN_001_002_03
-
PAIN_001_003_03
-
PAIN_001_001_03
-
PAIN_001_001_09
-
PAIN_001_001_11
-
PAIN_002_002_02
-
PAIN_002_003_03
-
PAIN_002_001_03
-
PAIN_002_001_10
-
PAIN_002_001_11
-
PAIN_008_001_01
-
PAIN_008_002_01
-
PAIN_008_002_02
-
PAIN_008_003_02
-
PAIN_008_001_02
-
PAIN_008_001_08
-
PAIN_008_001_10
-
CAMT_052_001_01
-
CAMT_052_001_02
-
CAMT_052_001_03
-
CAMT_052_001_04
-
CAMT_052_001_05
-
CAMT_052_001_06
-
CAMT_052_001_07
-
CAMT_052_001_08
-
CAMT_052_001_09
-
support
-
urn
-
file
-
type
-
major
private int major -
minor
private int minor -
order
private int order
-
-
Constructor Details
-
SepaVersion
private SepaVersion(SepaVersion.SupportType support, int order, String urn, String file, boolean add) Erzeugt eine SEPA-Version aus dem URN bzw dem Dateinamen.- Parameters:
support
- der Support-Type.order
- die Reihenfolge bei der Sortierung.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".file
- Dateiname der Schema-Datei.add
- true, wenn die Version zur Liste der bekannten Versionen hinzugefuegt werden soll.
-
-
Method Details
-
byURN
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.
-
findType
Liefert den enum-Type fuer den angegebenen Wert.- Parameters:
type
- der Type. "pain", "camt".value
- der Wert. 001, 002, 008, ....- Returns:
- der zugehoerige Enum-Wert.
- Throws:
IllegalArgumentException
- wenn der Typ unbekannt ist.
-
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
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
Erzeugt den Namen der Java-Klasse des zugehoerigen SEPA-Parsers.- Returns:
- der Name der Java-Klasse des zugehoerigen SEPA-Parsers.
-
canGenerate
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
Prueft, ob die SEPA-Version unterstuetzt wird.- Parameters:
jobName
- der Job-Name.- Returns:
- true, wenn die SEPA-Version unterstuetzt wird.
-
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
Liefert die URN der SEPA-Version.- Returns:
- die URN der SEPA-Version.
-
getFile
Liefert den Dateinamen des Schemas insofern bekannt.- Returns:
- der Dateiname des Schema oder null.
-
findGreatest
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
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
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
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() -
equals
-
compareTo
- Specified by:
compareTo
in interfaceComparable<SepaVersion>
- See Also:
-
toString
-