Package de.willuhn.jameica.hbci.server

# Class KontoUtil

java.lang.Object
de.willuhn.jameica.hbci.server.KontoUtil

public class KontoUtil extends Object
Hilfsklasse mit statischen Funktionen fuer Konten.

## Constructor Summary

Constructors
Constructor
Description
`KontoUtil()`

## Method Summary

Modifier and Type
Method
Description
`static Konto`
`find(String kontonummer, String blz)`
Sucht das Konto in der Datenbank.
`static Konto`
`find(String kontonummer, String blz, int flag)`
Sucht das Konto in der Datenbank.
`static Konto`
`findByIBAN(String iban)`
Sucht das Konto in der Datenbank.
`static Konto`
`findByIBAN(String iban, int flag)`
Sucht das Konto in der Datenbank.
`static double`
`getAnfangsSaldo(Konto konto, Date datum)`
Liefert den Anfangssaldo eines Tages bzw.
`static double`
`getAusgaben(Konto konto, Date from, Date to, boolean onlyBooked)`
Liefert die Ausgaben auf dem Konto im angegebenen Zeitraum.
`static double`
`getEinnahmen(Konto konto, Date from, Date to, boolean onlyBooked)`
Liefert die Einnahmen auf dem Konto im angegebenen Zeitraum.
`static double`
`getEndSaldo(Konto konto, Date datum)`
Liefert den Endsaldo eines Tages bzw.
`static List<String>`
`getGroups()`
Liefert eine Liste der verfuegbaren Konto-Kategorien.
`static List<Konto>`
`getKonten(KontoFilter filter)`
Liefert die Liste der Konten.
`static int`
`getUmsaetzeTimeRange(Konto k, boolean askForCamtIfPossible)`
Extrahiert aus den BPD die Zeitspanne, fuer die laut Bank Umsaetze eines Kontos abgerufen werden koennen.
`static String`
`toString(Konto k)`
Liefert eine ausfuehrliche String-Repraesentation des Kontos.
`static boolean`
`useCamt(Konto k, boolean ask)`
Prueft, ob die Umsaetze eines Kontos per CAMT abgerufen werden sollen.

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

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

## Constructor Details

### KontoUtil

public KontoUtil()

## Method Details

### find

public static Konto find(String kontonummer, String blz) throws RemoteException
Sucht das Konto in der Datenbank. Die Funktion entfernt bei der Suche selbstaendig fuehrende Nullen in Kontonummern.

Parameters:
  `kontonummer` - die Kontonummer.
  `blz` - die BLZ.
Returns:
  das gefundene Konto oder NULL, wenn es nicht existiert.
Throws:
  `RemoteException`

### find

public static Konto find(String kontonummer, String blz, int flag) throws RemoteException
Sucht das Konto in der Datenbank. Die Funktion entfernt bei der Suche selbstaendig fuehrende Nullen in Kontonummern.

Parameters:
  `kontonummer` - die Kontonummer.
  `blz` - die BLZ.
  `flag` - das Flag, welches das Konto besitzen muss.
Returns:
  das gefundene Konto oder NULL, wenn es nicht existiert.
Throws:
  `RemoteException`

### useCamt

public static boolean useCamt(Konto k, boolean ask)
Prueft, ob die Umsaetze eines Kontos per CAMT abgerufen werden sollen.

Parameters:
  `k` - das zu pruefende Konto.
  `ask` - true, wenn der User hier auch gefragt werden darf, falls er die Entscheidung noch nicht getroffen hat.
Returns:
  true, wenn CAMT verwendet werden soll.

### getUmsaetzeTimeRange

public static int getUmsaetzeTimeRange(Konto k, boolean askForCamtIfPossible)
Extrahiert aus den BPD die Zeitspanne, fuer die laut Bank Umsaetze eines Kontos abgerufen werden koennen.

Parameters:
  `k` - das betreffende Konto.
  `askForCamtIfPossible` - true, wenn der User hier auch gefragt werden darf, ob die Umsaetze per CAMT abgerufen werden sollen, falls er die Entscheidung noch nicht getroffen hat.
Returns:
  -1, wenn kein Konto angegeben wurde, ansonsten Wert des Parameters "timerange" aus den BPD oder 0, falls der Parameter fehlt.

### findByIBAN

public static Konto findByIBAN(String iban) throws RemoteException
Sucht das Konto in der Datenbank.

Parameters:
  `iban` - die IBAN.
Returns:
  das gefundene Konto oder NULL, wenn es nicht existiert.
Throws:
  `RemoteException`

### findByIBAN

public static Konto findByIBAN(String iban, int flag) throws RemoteException
Sucht das Konto in der Datenbank.

Parameters:
  `iban` - die IBAN.
  `flag` - das Flag, welches das Konto besitzen muss.
Returns:
  das gefundene Konto oder NULL, wenn es nicht existiert.
Throws:
  `RemoteException`

### getAnfangsSaldo

public static double getAnfangsSaldo(Konto konto, Date datum) throws RemoteException
Liefert den Anfangssaldo eines Tages bzw. des 1. Tages nach diesem Datum mit Umsätzen oder `0.0` wenn er noch nie abgefragt wurde.

Parameters:
  `konto` - das Konto.
  `datum` - Datum.
Returns:
  der Saldo.
Throws:
  `RemoteException`

### getEndSaldo

public static double getEndSaldo(Konto konto, Date datum) throws RemoteException
Liefert den Endsaldo eines Tages bzw. des 1. Tages vor diesem Datum mit Umsätzen oder `0.0` wenn er noch nie abgefragt wurde.

Parameters:
  `konto` - das Konto.
  `datum` - Datum.
Returns:
  der Saldo.
Throws:
  `RemoteException`

### getAusgaben

public static double getAusgaben(Konto konto, Date from, Date to, boolean onlyBooked) throws RemoteException
Liefert die Ausgaben auf dem Konto im angegebenen Zeitraum.

Parameters:
  `konto` - das Konto.
  `from` - Start-Datum.
  `to` - End-Datum.
  `onlyBooked` - true, wenn nur die gebuchten Umsaetze beruecksichtigt werden sollen. False, wenn auch die Vormerkbuchungen beruecksichtigt werden sollen.
Returns:
  Summe der Ausgaben.
Throws:
  `RemoteException`

### getEinnahmen

public static double getEinnahmen(Konto konto, Date from, Date to, boolean onlyBooked) throws RemoteException
Liefert die Einnahmen auf dem Konto im angegebenen Zeitraum.

Parameters:
  `konto` - das Konto.
  `from` - Start-Datum.
  `to` - End-Datum.
  `onlyBooked` - true, wenn nur die gebuchten Umsaetze beruecksichtigt werden sollen. False, wenn auch die Vormerkbuchungen beruecksichtigt werden sollen.
Returns:
  Summe der Einnahmen.
Throws:
  `RemoteException`

### getGroups

public static List<String> getGroups() throws RemoteException
Liefert eine Liste der verfuegbaren Konto-Kategorien.

Returns:
  Liste der verfuegbaren Konto-Kategorien. Niemals NULL sondern hoechstens eine leere Liste.
Throws:
  `RemoteException`

### getKonten

public static List<Konto> getKonten(KontoFilter filter) throws RemoteException
Liefert die Liste der Konten.

Parameters:
  `filter` - optionaler Filter.
Returns:
  Liste der KOnten.
Throws:
  `RemoteException`

### toString

public static String toString(Konto k)
Liefert eine ausfuehrliche String-Repraesentation des Kontos. Sie enthaelt Name, IBAN und BIC.

Parameters:
  `k` - das Konto.
Returns:
  die ausfuehrliche String-Repraesentation.