Package de.willuhn.jameica.hbci.io

# Class MT940UmsatzExporter

java.lang.Object
de.willuhn.jameica.hbci.io.MT940UmsatzExporter

All Implemented Interfaces:
  `Exporter`, `IO`

Direct Known Subclasses:
  `MT940UmsatzExporterMerged`

public class MT940UmsatzExporter extends Object implements Exporter
Exportiert Umsaetze im MT940-Format.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`MT940UmsatzExporter.MyOutputStreamWriter`
Ableitung von OutputStreamWriter, um die Umlaute umzuschreiben.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`CHARSET`
MT940-Zeichensatz.
`protected static final DecimalFormat`
`DECF`
`protected static final DateFormat`
`DF_MMDD`
`protected static final DateFormat`
`DF_YYMMDD`
`protected static final de.willuhn.util.I18N`
`i18n`
`protected static final String`
`NL`

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

`SESSION`

## Constructor Summary

Constructors
Constructor
Description
`MT940UmsatzExporter()`

## Method Summary

Modifier and Type
Method
Description
`protected int`
`addRef(OutputStreamWriter out, int m, VerwendungszweckUtil.Tag tag, String text)`
Fuegt das Tag hinzu, insofern noch Platz ist.
`void`
`doExport(Object[] objects, IOFormat format, OutputStream os, de.willuhn.util.ProgressMonitor monitor)`
Exportiert die genannten Objekte in den angegebenen OutputStream.
`IOFormat[]`
`getIOFormats(Class objectType)`
Liefert eine Liste der von diesem unterstuetzten Datei-Formate.
`String`
`getName()`
Liefert einen sprechenden Namen des Exporters/Importers.
`protected void`
`sort(List<Umsatz> list)`
Sortiert die Buchungen chronologisch - aeltestest zuerst.
`boolean`
`suppportsExtension(String ext)`
Liefert true, wenn der Exporter die angegebene Extension unterstuetzt.

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

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

## Field Details

### i18n

protected static final de.willuhn.util.I18N i18n

### NL

protected static final String NL

See Also:
  - Constant Field Values

### DF_YYMMDD

protected static final DateFormat DF_YYMMDD

### DF_MMDD

protected static final DateFormat DF_MMDD

### DECF

protected static final DecimalFormat DECF

### CHARSET

public static final String CHARSET
MT940-Zeichensatz. Ist eigentlich nicht noetig, weil Swift nur ein Subset von ISO-8859 zulaesst, welches so klein ist, dass es im Wesentlichen US-ASCII ist und damit der Zeichensatz so ziemlich egal ist. Aber wir tolerieren die Umlaute wenigstens beim Import.

See Also:
  - Constant Field Values

## Constructor Details

### MT940UmsatzExporter

public MT940UmsatzExporter()

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

### addRef

protected int addRef(OutputStreamWriter out, int m, VerwendungszweckUtil.Tag tag, String text) throws IOException
Fuegt das Tag hinzu, insofern noch Platz ist.

Parameters:
  `out` - der OutputStreamWriter.
  `m` - der Counter.
  `tag` - das Tag.
  `text` - der Text.
Returns:
  der neue Counter-Wert.
Throws:
  `IOException`

### sort

protected void sort(List<Umsatz> list)
Sortiert die Buchungen chronologisch - aeltestest zuerst.

Parameters:
  `list` - die zu sortierenden Buchungen.

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

### getName

public String getName()
Description copied from interface: `IO`
Liefert einen sprechenden Namen des Exporters/Importers. Z.Bsp. "Swift MT-940 Format".

Specified by:
  `getName` in interface `IO`
Returns:
  Name

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