Package de.willuhn.jameica.hbci.rmi

# Interface AddressbookService

All Superinterfaces:
  `Addressbook`, `Remote`, `de.willuhn.datasource.Service`

All Known Implementing Classes:
  `AddressbookServiceImpl`

public interface AddressbookService extends de.willuhn.datasource.Service, Addressbook
Interface fuer den Adressbuch-Service. Hintergrund: Hibiscus soll einmal mehrere Adressbuecher unterstuetzen koennen. Mit diesem Service hier koennen nun die vorhandenen Adressbuecher abgefragt werden. Ein Adressbuch muss das Interface "rmi.Addressbook" implementieren, um automatisch erkannt zu werden. Der Adressbuch-Service implementiert selbst ebenfalls das Interface `Addressbook`. Hiermit ist es moeglich, alle Adressbuecher wie ein einziges abzufragen.

## Method Summary

Modifier and Type
Method
Description
`Addressbook[]`
`getAddressbooks()`
Liefert die Liste aller gefundenen Adressbuecher.
`boolean`
`hasExternalAddressbooks()`
Liefert true, wenn neben dem Hibiscus-eigenen Adressbuch noch weitere gefunden wurden.

### Methods inherited from interface de.willuhn.jameica.hbci.rmi.Addressbook

`contains, findAddresses, getName`

### Methods inherited from interface de.willuhn.datasource.Service

`getName, isStartable, isStarted, start, stop`

## Method Details

### getAddressbooks

Addressbook[] getAddressbooks() throws RemoteException
Liefert die Liste aller gefundenen Adressbuecher.

Returns:
  Liste der Adressbuecher. Die Funktion liefert niemals `null` und auch nie ein leeres Array. Denn da `AddressbookService` selbst ebenfalls das `Addressbook`-Interface implementiert, wird mindestens dieses zurueckgeliefert. Allerdings wuerde es in diesem Fall keine Adressen finden, da ja keine tatsaechlichen "Backend"-Adressbuecher existieren. Zumindest das Hibiscus-eigene Adressbuch sollte aber immer enthalten sein.
Throws:
  `RemoteException`

### hasExternalAddressbooks

boolean hasExternalAddressbooks() throws RemoteException
Liefert true, wenn neben dem Hibiscus-eigenen Adressbuch noch weitere gefunden wurden. In diesem Fall koennte dem Benutzer z.Bsp. ein Auswahl-Dialog angezeigt werden, in dem er das gewuenschte Adressbuch auswaehlen kann.

Returns:
  true, wenn weitere Adressbuecher existieren.
Throws:
  `RemoteException`