Package de.willuhn.jameica.hbci.io

# Class AbstractPDFUmsatzExporter<T extends de.willuhn.datasource.GenericObject>

java.lang.Object
de.willuhn.jameica.hbci.io.AbstractPDFUmsatzExporter<T>

Type Parameters:
  `T` - der konkrete Typ fuer die Gruppierung.

All Implemented Interfaces:
  `Exporter`, `IO`

Direct Known Subclasses:
  `PDFUmsatzByKontoExporter`, `PDFUmsatzByTypeExporter`

public abstract class AbstractPDFUmsatzExporter<T extends de.willuhn.datasource.GenericObject> extends Object implements Exporter
Abstrakte Basis-Implementierung fuer den Umsatz-Export im PDF-Format.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final de.willuhn.util.I18N`
`i18n`

### Fields inherited from interface de.willuhn.jameica.hbci.io.Exporter

`SESSION`

## Constructor Summary

Constructors
Constructor
Description
`AbstractPDFUmsatzExporter()`

## Method Summary

Modifier and Type
Method
Description
`void`
`doExport(Object[] objects, IOFormat format, OutputStream os, de.willuhn.util.ProgressMonitor monitor)`
Exportiert die genannten Objekte in den angegebenen OutputStream.
`protected abstract T`
`getGroup(Umsatz u)`
Liefert das Objekt, nach dem gruppiert werden soll.
`IOFormat[]`
`getIOFormats(Class objectType)`
Liefert eine Liste der von diesem unterstuetzten Datei-Formate.
`protected void`
`sort(List<T> groups)`
Ermoeglicht die optionale Sortierung der Gruppen vor der Ausgabe.
`boolean`
`suppportsExtension(String ext)`
Liefert true, wenn der Exporter die angegebene Extension unterstuetzt.
`protected abstract String`
`toString(T t)`
Liefert eine sprechende Bezeichnung fuer die Gruppe.

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

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

### Methods inherited from interface de.willuhn.jameica.hbci.io.IO

`getName`

## Field Details

### i18n

protected static final de.willuhn.util.I18N i18n

## Constructor Details

### AbstractPDFUmsatzExporter

public AbstractPDFUmsatzExporter()

## Method Details

### doExport

public void doExport(Object[] objects, IOFormat format, OutputStream os, de.willuhn.util.ProgressMonitor monitor) throws RemoteException, de.willuhn.util.ApplicationException
Description copied from interface: `Exporter`
Exportiert die genannten Objekte in den angegebenen OutputStream.

Specified by:
  `doExport` in interface `Exporter`
Parameters:
  `objects` - die zu exportierenden Objekte.
  `format` - das vom User ausgewaehlte Export-Format.
  `os` - der Ziel-Ausgabe-Stream. Der Exporter muss den OutputStream selbst schliessen!
  `monitor` - ein Monitor, an den der Exporter Ausgaben ueber seinen Bearbeitungszustand ausgeben kann.
Throws:
  `RemoteException`
  `de.willuhn.util.ApplicationException`

### getGroup

protected abstract T getGroup(Umsatz u) throws RemoteException
Liefert das Objekt, nach dem gruppiert werden soll.

Parameters:
  `u` - der Umsatz.
Returns:
  das Gruppierungsobjekt. Kann NULL sein.
Throws:
  `RemoteException`

### sort

protected void sort(List<T> groups) throws RemoteException
Ermoeglicht die optionale Sortierung der Gruppen vor der Ausgabe. Leere Dummy-Implementierung.

Parameters:
  `groups` - die Gruppen.
Throws:
  `RemoteException`

### toString

protected abstract String toString(T t) throws RemoteException
Liefert eine sprechende Bezeichnung fuer die Gruppe.

Parameters:
  `t` - die Gruppe. Kann NULL sein.
Returns:
  sprechende Bezeichnung der Gruppe.
Throws:
  `RemoteException`

### suppportsExtension

public boolean suppportsExtension(String ext)
Description copied from interface: `Exporter`
Liefert true, wenn der Exporter die angegebene Extension unterstuetzt.

Hintergrund: Im Export-Dialog koennen verschiedene Optionen (wie etwa "Spalte Saldo ausblenden") angezeigt werden. Manche Export-Formate unterstuetzen diese Option jedoch gar nicht, sodass sie ignoriert werden wuerde. Aus dem Grund kann der Exporter selbst mitteilen, ob er die angegebene Option unterstuetzt. Unterstuetzt er sie nicht, wir die Option automatisch deaktiviert.

Specified by:
  `suppportsExtension` in interface `Exporter`
Parameters:
  `ext` - der Name der Extension.
Returns:
  true, wenn er die Extension unterstuetzt.

### getIOFormats

public IOFormat[] getIOFormats(Class objectType)
Description copied from interface: `IO`
Liefert eine Liste der von diesem unterstuetzten Datei-Formate.

Specified by:
  `getIOFormats` in interface `IO`
Parameters:
  `objectType` - Art der zu exportierenden/importierenden Objekte. Z.Bsb.: Umsatz.class oder SammellastBuchung.class. Abhaengig davon kann der Exporter/Importer eine unterschiedliche Liste von Dateiformaten liefern, die er zu dieser Objektart unterstuetzt.
Returns:
  Liste der Export-Formate.