Package org.kapott.hbci.passport.storage.format

## Interface PassportFormat

All Known Implementing Classes:
  `AbstractFormat`, `AESFormat`, `LegacyFormat`

    public interface PassportFormat

Dieses Interface kapselt die verschiedenen Dateiformate von Passport-Dateien.

### Method Summary

All Methods Instance Methods Abstract Methods
`PassportData` `load​(HBCIPassport passport, byte[] data)` Liest die Passport-Datei.
`byte[]` `save​(HBCIPassport passport, PassportData data)` Speichert die Passport-Daten-
`boolean` `supported()` Testet, ob das Format auf dem System unterstuetzt wird.

### Method Detail

#### load

    PassportData load​(HBCIPassport passport,
                      byte[] data)
               throws java.lang.UnsupportedOperationException

Liest die Passport-Datei.

Parameters:
  `passport` - der Passport, fuer den die Daten gelesen werden sollen.
  `data` - das Byte-Array mit dem Datei-Inhalt. Wir uebergeben hier keinen Stream, damit wir mehrere Formate mit den selben Daten durchprobieren koennen, ohne jedesmal den Stream neu oeffnen zu muessen (mark/reset unterstuetzen viele InputStream-Implementierungen nicht). Und da wir die Daten zur Deserialisierung ohnehin komplett lesen muessen, koennen wir sie auch gleich in ein Byte-Array lesen.
Returns:
  die gelesenen Daten des Passport.
Throws:
  `java.lang.UnsupportedOperationException` - wenn die Implementierung dieses Dateiformat nicht unterstuetzt.

#### save

    byte[] save​(HBCIPassport passport,
                PassportData data)
         throws java.lang.UnsupportedOperationException

Speichert die Passport-Daten-

Parameters:
  `passport` - der Passport, fuer den die Daten gespeichert werden sollen.
  `data` - die zu speichernden Daten.
Returns:
  die gespeicherten Daten als Byte-Array.
Throws:
  `java.lang.UnsupportedOperationException`

#### supported

    boolean supported()

Testet, ob das Format auf dem System unterstuetzt wird.

Returns:
  true, wenn es unterstuetzt wird.