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).
  • Field Details

    • 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 Details

    • 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 class Object
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      See Also:
    • compareTo

      public int compareTo(SepaVersion v)
      Specified by:
      compareTo in interface Comparable<SepaVersion>
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object
      See Also: