Class SepaVersion

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