de.osci.osci12.messagetypes
Class StoredMessage

java.lang.Object
  |
  +--de.osci.osci12.messagetypes.OSCIMessage
        |
        +--de.osci.osci12.messagetypes.OSCIResponseTo
              |
              +--de.osci.osci12.messagetypes.StoredMessage

public class StoredMessage
extends OSCIResponseTo

Eine Instanz dieser Klasse wird beim Einlesen einer serialisierten OSCI-Nachricht beliebigen Typs (Nachrichten mit Inhaltsdaten) angelegt.

Die Klasse dient folgenden Zwecken: Leser können ihre Inhaltsdaten in Nachrichten beliebigen Typs ablegen, diese speichern und z.B. als Datei weiterreichen. Absender können eine solche Datei mit der Methode loadMessage(InputStream) laden, die Inhaltdatencontainer entnehmen und anderen Nachrichten hinzufügen. Es ist zu beachten, daß beim Übernehmen von verschlüsselten Inhaltsdaten (getEncryptedData()) ohne Entschlüsselung nicht festgestellt werden kann, welche Zertifikate in den Inhaltsdaten (z.B. Signaturzertifikate) referenziert werden. Im Zweifel sollten daher alle Zertifikate z.B. mit den Methoden OSCIMessage.getOtherAuthors() und OSCIMessage.getOtherReaders() entnommen und der neuen Nachricht durch Aufrufe von OSCIMessage.addRole(Role) hinzugefügt werden.

Copyright: Copyright (c) 2004

Organisation: bremen online services GmbH & Co. KG

Version:
1.0

Field Summary
 
Fields inherited from class de.osci.osci12.messagetypes.OSCIMessage
ACCEPT_DELIVERY, attachments, contentContainer, contentID, desiredLanguagesH, dialogHandler, encryptedData, EXIT_DIALOG, FETCH_DELIVERY, FETCH_PROCESS_CARD, FORWARD_DELIVERY, GET_MESSAGE_ID, hashableMsgPart, INIT_DIALOG, intermediaryCertificatesH, MEDIATE_DELIVERY, NO_SELECTION_RULE, nonIntermediaryCertificatesH, PROCESS_DELIVERY, qualityOfTimestampTypeCreation, qualityOfTimestampTypeReception, RESPONSE_TO_ACCEPT_DELIVERY, RESPONSE_TO_EXIT_DIALOG, RESPONSE_TO_FETCH_DELIVERY, RESPONSE_TO_FETCH_PROCESS_CARD, RESPONSE_TO_FORWARD_DELIVERY, RESPONSE_TO_GET_MESSAGE_ID, RESPONSE_TO_INIT_DIALOG, RESPONSE_TO_MEDIATE_DELIVERY, RESPONSE_TO_PROCESS_DELIVERY, RESPONSE_TO_STORE_DELIVERY, SELECT_BY_DATE_OF_RECEPTION, SELECT_BY_MESSAGE_ID, SELECT_BY_RECENT_MODIFICATION, signatureHeader, SOAP_FAULT_MESSAGE, SOAP_MESSAGE_ENCRYPTED, STORE_DELIVERY, TYPE_UNDEFINED
 
Method Summary
 ContentContainer[] getContentContainer()
          Liefert die in die Nachricht eingestellten (unverschlüsselten) Inhaltsdaten als ContentContainer-Objekte.
 EncryptedDataOSCI[] getEncryptedData()
          Liefert die in die Nachricht eingestellten verschlüsselten Inhaltsdaten als EncryptedData-Objekte.
 Intermed getIntermediary()
          Liefert das Intermediäresobjekt oder null, wenn keine Zertifikate in der Nachricht enthalten sind.
 java.lang.String getMessageId()
          Liefert die Message-Id der Nachricht.
 ProcessCardBundle getProcessCardBundle()
          Diese Methode liefert den Laufzettel der Nachricht zurück.
 ProcessCardBundle getProcessCardBundleReply()
          Diese Methode liefert den Antwort-Laufzettel einer Abwicklungsantwort zurück.
 ProcessCardBundle[] getProcessCardBundles()
          Diese Methode liefert die Laufzettel einer Laufzettelabholantwort zurück.
 boolean getQualityOfTimeStampCreation()
          Liefert die Qualität des Zeitstempels, mit dem der Intermediär den Eingang des Auftrags im Laufzettel protokolliert.
 boolean getQualityOfTimeStampReception()
          Liefert die geforderte Qualität des Zeitstempels, mit dem der Intermediär den Empfang der Annahmeantwort im Laufzettel protokolliert.
 long getQuantityLimit()
          Liefert die maximale Anzahl zurückzugebender Laufzettel.
 int getSelectionMode()
          Liefert den gesetzten Auswahlmodus für Nachrichten oder Laufzettel.
 java.lang.String getSelectionRule()
          Liefert die gesetzte Auswahlregel für Nachrichten oder Laufzettel.
 java.lang.String getSubject()
          Liefert den Betreff der Nachricht oder null, wenn kein Betreff in der Nachricht enthalten ist.
 java.net.URI getUriReceiver()
          Liefert die URI des Nachrichtenempfängers oder null, wenn keine Empfänger-URI in der Nachricht enthalten ist.
static StoredMessage loadMessage(java.io.InputStream input)
          Liest eine (unverschlüsselte) Nachricht aus dem übergebenen Stream.
static void storeMessage(OSCIMessage msg, java.io.OutputStream output)
          Serialisiert die übergebene Nachricht und schreibt die Daten in den übergebenen Stream.
 
Methods inherited from class de.osci.osci12.messagetypes.OSCIResponseTo
getFeedback
 
Methods inherited from class de.osci.osci12.messagetypes.OSCIMessage
addCustomHeader, addRole, formatISO8601, getAddressee, getCustomHeaders, getDialogHandler, getMessageType, getOriginator, getOtherAuthors, getOtherReaders, getRoleForRefID, main, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

storeMessage

public static void storeMessage(OSCIMessage msg,
                                java.io.OutputStream output)
                         throws java.io.IOException,
                                OSCIException,
                                java.security.NoSuchAlgorithmException
Serialisiert die übergebene Nachricht und schreibt die Daten in den übergebenen Stream.

Parameters:
msg - zu speichernde Nachricht; Z.Zt. können StoredMessage-Objekte selbst nicht gespeichert werden.
Throws:
java.io.IOException - bei Schreibfehlern
OSCIException - bei Problemen beim Aufbau der Nachricht
java.security.NoSuchAlgorithmException - wenn der installierte Security-Provider einen benötigten Algorithmus nicht unterstützt
See Also:
loadMessage(InputStream)

loadMessage

public static StoredMessage loadMessage(java.io.InputStream input)
                                 throws java.io.IOException,
                                        OSCIException,
                                        java.security.NoSuchAlgorithmException
Liest eine (unverschlüsselte) Nachricht aus dem übergebenen Stream. Die in der Nachricht enthaltenen Inhalte können dem zurückgegebenen Nachrichtenobjekt entnommen werden.

Parameters:
input - zu lesender Stream
Returns:
eine StoredMessage-Instanz
Throws:
java.io.IOException - bei Schreibfehlern
OSCIException - bei Problemen beim Aufbau der Nachricht
java.security.NoSuchAlgorithmException - wenn der installierte Security-Provider einen benötigten Algorithmus nicht unterstützt
See Also:
storeMessage(OSCIMessage, OutputStream)

getProcessCardBundle

public ProcessCardBundle getProcessCardBundle()
Diese Methode liefert den Laufzettel der Nachricht zurück. Im Falle einer Abwicklungsantwort wird der Laufzettel des Requests zurückgegeben.

Returns:
den Laufzettel des Auftrags als ProcessCardBundle-Objekt oder null, wenn der Nachrichtentyp keinen Laufzettel enthält.
See Also:
getProcessCardBundleReply(), ResponseToMediateDelivery.getProcessCardBundleRequest()

getProcessCardBundles

public ProcessCardBundle[] getProcessCardBundles()
Diese Methode liefert die Laufzettel einer Laufzettelabholantwort zurück.

Returns:
den Laufzettel des Auftrags als ProcessCardBundle-Objekt
Throws:
java.lang.UnsupportedOperationException - wenn die Nachricht nicht vom Typ ResponseToFetchProcessCard ist.
See Also:
getProcessCardBundle(), ResponseToFetchProcessCard.getProcessCardBundles()

getProcessCardBundleReply

public ProcessCardBundle getProcessCardBundleReply()
Diese Methode liefert den Antwort-Laufzettel einer Abwicklungsantwort zurück.

Returns:
den Laufzettel der Nachricht als ProcessCardBundle-Objekt
Throws:
java.lang.UnsupportedOperationException - wenn die Nachricht nicht vom Typ ResponseToMediateDelivery ist.
See Also:
getProcessCardBundle()

getMessageId

public java.lang.String getMessageId()
Liefert die Message-Id der Nachricht. Im Falle einer Abwicklungsantwort wird die Message-Id des Requests zurückgegeben.

Returns:
die Message-ID

getIntermediary

public Intermed getIntermediary()
Liefert das Intermediäresobjekt oder null, wenn keine Zertifikate in der Nachricht enthalten sind.

Returns:
Intermediär

getContentContainer

public ContentContainer[] getContentContainer()
Liefert die in die Nachricht eingestellten (unverschlüsselten) Inhaltsdaten als ContentContainer-Objekte.

Overrides:
getContentContainer in class OSCIMessage
Returns:
enthaltene ContentContainer mit Inhaltsdaten.
See Also:
ContentContainer

getEncryptedData

public EncryptedDataOSCI[] getEncryptedData()
Liefert die in die Nachricht eingestellten verschlüsselten Inhaltsdaten als EncryptedData-Objekte.

Overrides:
getEncryptedData in class OSCIMessage
Returns:
enthaltene EncryptedData-Objekt mit verschlüsselten Inhaltsdaten.
See Also:
EncryptedDataOSCI

getSubject

public java.lang.String getSubject()
Liefert den Betreff der Nachricht oder null, wenn kein Betreff in der Nachricht enthalten ist.

Returns:
den Betreff

getUriReceiver

public java.net.URI getUriReceiver()
Liefert die URI des Nachrichtenempfängers oder null, wenn keine Empfänger-URI in der Nachricht enthalten ist.

Returns:
URI

getQualityOfTimeStampCreation

public boolean getQualityOfTimeStampCreation()
Liefert die Qualität des Zeitstempels, mit dem der Intermediär den Eingang des Auftrags im Laufzettel protokolliert.

Returns:
Qualität des Zeitstempels: true - kryptographischer Zeitstempel von einem akkreditierten Zeitstempeldienst.
false - Einfacher Zeitstempel (lokale Rechnerzeit des Intermedärs).
Throws:
java.lang.UnsupportedOperationException - wenn der repräsentierte Nachrichtentyp keine Zeitstempelanforderung enthält
See Also:
getQualityOfTimeStampReception()

getQualityOfTimeStampReception

public boolean getQualityOfTimeStampReception()
Liefert die geforderte Qualität des Zeitstempels, mit dem der Intermediär den Empfang der Annahmeantwort im Laufzettel protokolliert.

Returns:
Qualität des Zeitstempels: true - kryptographischer Zeitstempel von einem akkreditierten Zeitstempeldienst.
false - Einfacher Zeitstempel (lokale Rechnerzeit des Intermedärs).
Throws:
java.lang.UnsupportedOperationException - wenn der repräsentierte Nachrichtentyp keine Zeitstempelanforderung enthält
See Also:
getQualityOfTimeStampCreation()

getSelectionMode

public int getSelectionMode()
Liefert den gesetzten Auswahlmodus für Nachrichten oder Laufzettel.

Returns:
den Auswahlmodus SELECT_BY_MESSAGE_ID, SELECT_BY_DATE_OF_RECEPTION oder NO_SELECTION_RULE
Throws:
java.lang.UnsupportedOperationException - wenn der repräsentierte Nachrichtentyp keine Auswahlmöglichkeit enthält
See Also:
getSelectionRule()

getSelectionRule

public java.lang.String getSelectionRule()
Liefert die gesetzte Auswahlregel für Nachrichten oder Laufzettel. Wurde keine Regel gesetzt, wird als default null zurückgegeben.

Returns:
die Auswahlregel (Message-Id oder Datum)
Throws:
java.lang.UnsupportedOperationException - wenn der repräsentierte Nachrichtentyp keine Auswahlmöglichkeit enthält
See Also:
getSelectionMode()

getQuantityLimit

public long getQuantityLimit()
Liefert die maximale Anzahl zurückzugebender Laufzettel.

Returns:
gesetzte maximale Anzahl
Throws:
java.lang.UnsupportedOperationException - wenn die repräsentierte Nachricht kein Laufzettelabholauftrag oder -antwort ist. keine Auswahlmöglichkeit enthält


Copyright © 2004. All Rights Reserved.