Class AbstractSEPAGV

java.lang.Object
org.kapott.hbci.GV.HBCIJobImpl
org.kapott.hbci.GV.AbstractSEPAGV
All Implemented Interfaces:
HBCIJob
Direct Known Subclasses:
AbstractGVLastSEPA, GVDauerLastSEPAList, GVDauerSEPADel, GVDauerSEPAEdit, GVDauerSEPAList, GVDauerSEPANew, GVKUmsAllCamt, GVTermUebSEPA, GVTermUebSEPADel, GVTermUebSEPAEdit, GVTermUebSEPAList, GVUebSEPA, GVUmbSEPA

public abstract class AbstractSEPAGV extends HBCIJobImpl
Abstrakte Basis-Klasse fuer JAXB-basierte SEPA-Jobs.
  • Field Details

    • ENDTOEND_ID_NOTPROVIDED

      public static final String ENDTOEND_ID_NOTPROVIDED
      Token, der als End-to-End ID Platzhalter verwendet wird, wenn keine angegeben wurde. In pain.001.001.02 wurde dieser Token noch explizit erwaehnt. Inzwischen nicht mehr. Nach Ruecksprache mit Holger vom onlinebanking-forum.de weiss ich aber, dass VRNetworld den auch verwendet und er von Banken als solcher erkannt wird.
      See Also:
    • sepaParams

      protected final Properties sepaParams
    • pain

      private SepaVersion pain
    • generator

      private ISEPAGenerator generator
  • Constructor Details

    • AbstractSEPAGV

      public AbstractSEPAGV(HBCIHandler handler, String name)
      ct.
      Parameters:
      handler -
      name -
    • AbstractSEPAGV

      public AbstractSEPAGV(HBCIHandler handler, String name, HBCIJobResultImpl jobResult)
      ct.
      Parameters:
      handler -
      name -
      jobResult -
  • Method Details

    • getDefaultPainVersion

      protected abstract SepaVersion getDefaultPainVersion()
      Liefert die Default-PAIN-Version, das verwendet werden soll, wenn von der Bank keine geliefert wurden.
      Returns:
      Default-Pain-Version.
    • getPainType

      protected abstract SepaVersion.Type getPainType()
      Liefert den PAIN-Type.
      Returns:
      der PAIN-Type.
    • determinePainVersion

      private SepaVersion determinePainVersion(HBCIHandler handler, String gvName)
      Diese Methode schaut in den BPD nach den unterstützen pain Versionen (bei LastSEPA pain.008.xxx.xx) und vergleicht diese mit den von HBCI4Java unterstützen pain Versionen. Der größte gemeinsamme Nenner wird zurueckgeliefert.
      Parameters:
      handler -
      gvName - der Geschaeftsvorfall fuer den in den BPD nach dem PAIN-Versionen gesucht werden soll.
      Returns:
      die ermittelte PAIN-Version.
    • determinePainVersionInternal

      private SepaVersion determinePainVersionInternal(HBCIHandler handler, String gvName)
      Diese Methode schaut in den BPD nach den unterstützen pain Versionen (bei LastSEPA pain.008.xxx.xx) und vergleicht diese mit den von HBCI4Java unterstützen pain Versionen. Der größte gemeinsamme Nenner wird zurueckgeliefert.
      Parameters:
      handler -
      gvName - der Geschaeftsvorfall fuer den in den BPD nach dem PAIN-Versionen gesucht werden soll.
      Returns:
      die ermittelte PAIN-Version oder NULL wenn keine ermittelt werden konnte.
    • setLowlevelParam

      protected void setLowlevelParam(String key, String value)
      Overrides:
      setLowlevelParam in class HBCIJobImpl
      See Also:
    • getLowlevelParam

      public String getLowlevelParam(String key)
      This is needed for verifyConstraints(). Because verifyConstraints() tries to read the lowlevel-values for each constraint, the lowlevel-values for sepa.xxx would always be empty (because they do not exist in hbci messages). So we read the sepa lowlevel-values from the special sepa structure instead from the lowlevel params for the message
      Overrides:
      getLowlevelParam in class HBCIJobImpl
      Parameters:
      key -
      Returns:
      the lowlevel param.
    • getSEPAMessageId

      public String getSEPAMessageId()
      Gibt die SEPA Message ID als String zurück. Existiert noch keine wird sie aus Datum und User ID erstellt.
      Returns:
      SEPA Message ID
    • getSEPAGenerator

      protected final ISEPAGenerator getSEPAGenerator()
      Liefert den passenden SEPA-Generator.
      Returns:
      der SEPA-Generator.
    • getPainVersion

      protected SepaVersion getPainVersion()
      Liefert den zu verwendenden PAIN-Version fuer die HBCI-Nachricht.
      Returns:
      der zu verwendende PAIN-Version fuer die HBCI-Nachricht.
    • createSEPAFromParams

      protected void createSEPAFromParams()
      Erstellt die XML für diesen Job und schreibt diese in den _sepapain Parameter des Jobs
    • addConstraint

      protected void addConstraint(String frontendName, String destinationName, String defValue, int logFilterLevel, boolean indexed)
      Overrides:
      addConstraint in class HBCIJobImpl
      See Also:
    • verifyConstraints

      public void verifyConstraints()
      Bei SEPA Geschäftsvorfällen müssen wir verifyConstraints überschreiben um die SEPA XML zu generieren
      Overrides:
      verifyConstraints in class HBCIJobImpl
    • setSEPAParam

      protected void setSEPAParam(String name, String value)
    • getSEPAParam

      public String getSEPAParam(String name)
      Liest den Parameter zu einem gegeben Key aus dem speziellen SEPA Parametern aus
      Parameters:
      name -
      Returns:
      Value
    • getPainJobName

      public String getPainJobName()
      Referenzierter pain-Jobname. Bei vielen Geschäftsvorfällen (z.B. Daueraufträgen) wird die pain der Einzeltransaktion verwendet.
      Returns:
      Value