Package org.kapott.hbci.GV
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 Summary
Fields Modifier and Type Field Description static java.lang.String
ENDTOEND_ID_NOTPROVIDED
Token, der als End-to-End ID Platzhalter verwendet wird, wenn keine angegeben wurde.private ISEPAGenerator
generator
private SepaVersion
pain
protected java.util.Properties
sepaParams
-
Fields inherited from class org.kapott.hbci.GV.HBCIJobImpl
jobResult
-
-
Constructor Summary
Constructors Constructor Description AbstractSEPAGV(HBCIHandler handler, java.lang.String name)
ct.AbstractSEPAGV(HBCIHandler handler, java.lang.String name, HBCIJobResultImpl jobResult)
ct.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addConstraint(java.lang.String frontendName, java.lang.String destinationName, java.lang.String defValue, int logFilterLevel, boolean indexed)
protected void
createSEPAFromParams()
Erstellt die XML für diesen Job und schreibt diese in den _sepapain Parameter des Jobsprivate SepaVersion
determinePainVersion(HBCIHandler handler, java.lang.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.private SepaVersion
determinePainVersionInternal(HBCIHandler handler, java.lang.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.protected abstract SepaVersion
getDefaultPainVersion()
Liefert die Default-PAIN-Version, das verwendet werden soll, wenn von der Bank keine geliefert wurden.java.lang.String
getLowlevelParam(java.lang.String key)
This is needed for verifyConstraints().java.lang.String
getPainJobName()
Referenzierter pain-Jobname.protected abstract SepaVersion.Type
getPainType()
Liefert den PAIN-Type.protected SepaVersion
getPainVersion()
Liefert den zu verwendenden PAIN-Version fuer die HBCI-Nachricht.protected ISEPAGenerator
getSEPAGenerator()
Liefert den passenden SEPA-Generator.java.lang.String
getSEPAMessageId()
Gibt die SEPA Message ID als String zurück.java.lang.String
getSEPAParam(java.lang.String name)
Liest den Parameter zu einem gegeben Key aus dem speziellen SEPA Parametern ausprotected void
setLowlevelParam(java.lang.String key, java.lang.String value)
protected void
setSEPAParam(java.lang.String name, java.lang.String value)
void
verifyConstraints()
Bei SEPA Geschäftsvorfällen müssen wir verifyConstraints überschreiben um die SEPA XML zu generieren-
Methods inherited from class org.kapott.hbci.GV.HBCIJobImpl
acceptsParam, addConstraint, addSignaturePassport, addToQueue, addToQueue, applyOffset, canNationalAcc, checkAccountCRC, createJobSegment, createJobSegment, extractResults, fillJobResult, fillJobResultFromTanJob, getChallengeParam, getExternalId, getHBCICode, getJobName, getJobParameterNames, getJobRestrictions, getJobResult, getJobResultNames, getLowlevelParams, getMainPassport, getMaxNumberPerMsg, getMinSigs, getName, getOrderAccount, getParentHandler, getSecurityClass, getSegVersion, getSignaturePassports, haveTan, redo, redoAllowed, saveReturnValues, setExternalId, setIdx, setParam, setParam, setParam, setParam, setParam, setParam, setParam, setParam, setParam, setSegVersion, skip, skipped, tanApplied, twoDigitValueInList
-
-
-
-
Field Detail
-
ENDTOEND_ID_NOTPROVIDED
public static final java.lang.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:
- Constant Field Values
-
sepaParams
protected final java.util.Properties sepaParams
-
pain
private SepaVersion pain
-
generator
private ISEPAGenerator generator
-
-
Constructor Detail
-
AbstractSEPAGV
public AbstractSEPAGV(HBCIHandler handler, java.lang.String name)
ct.- Parameters:
handler
-name
-
-
AbstractSEPAGV
public AbstractSEPAGV(HBCIHandler handler, java.lang.String name, HBCIJobResultImpl jobResult)
ct.- Parameters:
handler
-name
-jobResult
-
-
-
Method Detail
-
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, java.lang.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, java.lang.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(java.lang.String key, java.lang.String value)
-
getLowlevelParam
public java.lang.String getLowlevelParam(java.lang.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 classHBCIJobImpl
- Parameters:
key
-- Returns:
- the lowlevel param.
-
getSEPAMessageId
public java.lang.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(java.lang.String frontendName, java.lang.String destinationName, java.lang.String defValue, int logFilterLevel, boolean indexed)
- Overrides:
addConstraint
in classHBCIJobImpl
- See Also:
Ueberschrieben, um die Default-Werte der SEPA-Parameter vorher rauszufischen und in "this.sepaParams" zu speichern. Die brauchen wir "createSEPAFromParams" beim Erstellen des XML - sie wuerden dort sonst aber fehlen, weil Default-Werte eigentlich erst in "verifyConstraints" uebernommen werden.
-
verifyConstraints
public void verifyConstraints()
Bei SEPA Geschäftsvorfällen müssen wir verifyConstraints überschreiben um die SEPA XML zu generieren- Overrides:
verifyConstraints
in classHBCIJobImpl
-
setSEPAParam
protected void setSEPAParam(java.lang.String name, java.lang.String value)
-
getSEPAParam
public java.lang.String getSEPAParam(java.lang.String name)
Liest den Parameter zu einem gegeben Key aus dem speziellen SEPA Parametern aus- Parameters:
name
-- Returns:
- Value
-
getPainJobName
public java.lang.String getPainJobName()
Referenzierter pain-Jobname. Bei vielen Geschäftsvorfällen (z.B. Daueraufträgen) wird die pain der Einzeltransaktion verwendet.- Returns:
- Value
-
-