Package org.kapott.hbci.GV

## Class SepaUtil

- java.lang.Object
- - org.kapott.hbci.GV.SepaUtil

    public class SepaUtil
    extends java.lang.Object

Ein paar statische Hilfs-Methoden fuer die Generierung der SEPA-Nachrichten.

### Field Summary

Fields
`static java.lang.String` `DATE_FORMAT`
`static java.lang.String` `DATE_UNDEFINED` Das Platzhalter-Datum, welches verwendet werden soll, wenn kein Datum angegeben ist.
`static java.lang.String` `DATETIME_FORMAT`

### Constructor Summary

Constructors
`SepaUtil()`

### Method Summary

All Methods Static Methods Concrete Methods
`static javax.xml.datatype.XMLGregorianCalendar` `createCalendar​(java.lang.String isoDate)` Erzeugt ein neues XMLCalender-Objekt.
`static java.lang.String` `format​(java.math.BigDecimal value)` Formatiert die Dezimalzahl als String.
`static java.lang.String` `format​(javax.xml.datatype.XMLGregorianCalendar cal, java.lang.String format)` Formatiert den XML-Kalender im angegebenen Format.
`static java.lang.String` `getProperty​(java.util.Properties props, java.lang.String name, java.lang.String defaultValue)` Liefert den Wert des Properties oder den Default-Wert.
`static java.lang.String` `insertIndex​(java.lang.String key, java.lang.Integer index)` Fuegt einen Index in den Property-Key ein.
`static java.lang.Integer` `maxIndex​(java.util.Properties properties)` Ermittelt den maximalen Index aller indizierten Properties.
`static java.math.BigDecimal` `sumBtgValue​(java.util.Properties sepaParams, java.lang.Integer max)` Liefert die Summe der Beträge aller Transaktionen.
`static Value` `sumBtgValueObject​(java.util.Properties properties)` Liefert ein Value-Objekt mit den Summen des Auftrages.
`static java.util.Date` `toDate​(javax.xml.datatype.XMLGregorianCalendar cal)` Liefert ein Date-Objekt fuer den Kalender.

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

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

### Field Detail

#### DATETIME_FORMAT

    public static final java.lang.String DATETIME_FORMAT

See Also:
  Constant Field Values

#### DATE_FORMAT

    public static final java.lang.String DATE_FORMAT

See Also:
  Constant Field Values

#### DATE_UNDEFINED

    public static final java.lang.String DATE_UNDEFINED

Das Platzhalter-Datum, welches verwendet werden soll, wenn kein Datum angegeben ist.

See Also:
  Constant Field Values

### Constructor Detail

#### SepaUtil

    public SepaUtil()

### Method Detail

#### createCalendar

    public static javax.xml.datatype.XMLGregorianCalendar createCalendar​(java.lang.String isoDate)
                                                                  throws java.lang.Exception

Erzeugt ein neues XMLCalender-Objekt.

Parameters:
  `isoDate` - optional. Das zu verwendende Datum. Wird es weggelassen, dann wird das aktuelle Datum (mit Uhrzeit) verwendet.
Returns:
  das XML-Calendar-Objekt.
Throws:
  `java.lang.Exception`

#### format

    public static java.lang.String format​(javax.xml.datatype.XMLGregorianCalendar cal,
                                          java.lang.String format)

Formatiert den XML-Kalender im angegebenen Format.

Parameters:
  `cal` - der Kalender.
  `format` - das zu verwendende Format. Fuer Beispiele siehe `DATE_FORMAT` `DATETIME_FORMAT` Wenn keines angegeben ist, wird per Default `DATE_FORMAT` verwendet.
Returns:
  die String das formatierte Datum.

#### toDate

    public static java.util.Date toDate​(javax.xml.datatype.XMLGregorianCalendar cal)

Liefert ein Date-Objekt fuer den Kalender.

Parameters:
  `cal` - der Kalender.
Returns:
  das Date-Objekt.

#### format

    public static java.lang.String format​(java.math.BigDecimal value)

Formatiert die Dezimalzahl als String. Zur Zeit macht die Funktion lediglich ein "toString",

Parameters:
  `value` - der zu formatierende Betrag.
Returns:
  der formatierte Betrag.

#### maxIndex

    public static java.lang.Integer maxIndex​(java.util.Properties properties)

Ermittelt den maximalen Index aller indizierten Properties. Nicht indizierte Properties werden ignoriert.

Parameters:
  `properties` - die Properties, mit denen gearbeitet werden soll
Returns:
  Maximaler Index, oder `null`, wenn keine indizierten Properties gefunden wurden

#### sumBtgValue

    public static java.math.BigDecimal sumBtgValue​(java.util.Properties sepaParams,
                                                   java.lang.Integer max)

Liefert die Summe der Beträge aller Transaktionen. Bei einer Einzeltransaktion wird der Betrag zurückgeliefert. Mehrfachtransaktionen müssen die gleiche Währung verwenden, da eine Summenbildung sonst nicht möglich ist.

Parameters:
  `sepaParams` - die Properties, mit denen gearbeitet werden soll
  `max` - Maximaler Index, oder `null` für Einzeltransaktionen
Returns:
  Summe aller Beträge

#### insertIndex

    public static java.lang.String insertIndex​(java.lang.String key,
                                               java.lang.Integer index)

Fuegt einen Index in den Property-Key ein. Wurde kein Index angegeben, wird der Key unveraendert zurueckgeliefert.

Parameters:
  `key` - Key, der mit einem Index ergaenzt werden soll
  `index` - Index oder `null`, wenn kein Index gesetzt werden soll
Returns:
  Key mit Index

#### sumBtgValueObject

    public static Value sumBtgValueObject​(java.util.Properties properties)

Liefert ein Value-Objekt mit den Summen des Auftrages.

Parameters:
  `properties` - Auftrags-Properties.
Returns:
  das Value-Objekt mit der Summe.

#### getProperty

    public static java.lang.String getProperty​(java.util.Properties props,
                                               java.lang.String name,
                                               java.lang.String defaultValue)

Liefert den Wert des Properties oder den Default-Wert. Der Default-Wert wird nicht nur bei NULL verwendet sondern auch bei Leerstring.

Parameters:
  `props` - die Properties.
  `name` - der Name des Properties.
  `defaultValue` - der Default-Wert.
Returns:
  der Wert.