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 final String`
`ENDTOEND_ID_NOTPROVIDED`
Token, der als End-to-End ID Platzhalter verwendet wird, wenn keine angegeben wurde.
`protected final Properties`
`sepaParams`

### Fields inherited from class org.kapott.hbci.GV.HBCIJobImpl

`jobResult`

## Constructor Summary

Constructors
Constructor
Description
`AbstractSEPAGV(HBCIHandler handler, String name)`
ct.
`AbstractSEPAGV(HBCIHandler handler, String name, HBCIJobResultImpl jobResult)`
ct.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`addConstraint(String frontendName, String destinationName, String defValue, int logFilterLevel, boolean indexed)`
`protected void`
`createSEPAFromParams()`
Erstellt die XML für diesen Job und schreibt diese in den _sepapain Parameter des Jobs
`protected abstract SepaVersion`
`getDefaultPainVersion()`
Liefert die Default-PAIN-Version, das verwendet werden soll, wenn von der Bank keine geliefert wurden.
`String`
`getLowlevelParam(String key)`
This is needed for verifyConstraints().
`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 final ISEPAGenerator`
`getSEPAGenerator()`
Liefert den passenden SEPA-Generator.
`String`
`getSEPAMessageId()`
Gibt die SEPA Message ID als String zurück.
`String`
`getSEPAParam(String name)`
Liest den Parameter zu einem gegeben Key aus dem speziellen SEPA Parametern aus
`protected void`
`setLowlevelParam(String key, String value)`
`protected void`
`setSEPAParam(String name, 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, haveVoP, redo, redoAllowed, saveReturnValues, setExternalId, setIdx, setParam, setParam, setParam, setParam, setParam, setParam, setParam, setParam, setParam, setSegVersion, skip, skipBPDCheck, skipped, tanApplied, twoDigitValueInList, vopApplied`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## 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:
  - Constant Field Values

### sepaParams

protected final Properties sepaParams

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

### setLowlevelParam

protected void setLowlevelParam(String key, String value)

Overrides:
  `setLowlevelParam` in class `HBCIJobImpl`
See Also:
  - `This is needed to "redirect" the sepa values. They dont have to stored directly in the message, but have to go into the SEPA document which will by created later (in verifyConstraints())`

### 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:
  - `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 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