org.kapott.hbci.GV_Result.HBCIJobResult Maven / Gradle / Ivy
Show all versions of hbci4j-adorsys Show documentation
/* $Id: HBCIJobResult.java,v 1.1 2011/05/04 22:37:47 willuhn Exp $
This file is part of HBCI4Java
Copyright (C) 2001-2008 Stefan Palme
HBCI4Java is free software; you can redistribute it and/or modify
it under the terms of the GNU General License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
HBCI4Java is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General License for more details.
You should have received a copy of the GNU General License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package org.kapott.hbci.GV_Result;
import org.kapott.hbci.passport.HBCIPassportInternal;
import org.kapott.hbci.status.HBCIRetVal;
import org.kapott.hbci.status.HBCIStatus;
import java.util.Map;
/**
* Basis-Interface für die Rückgabedaten von
* ausgeführten HBCI-Jobs. Alle Klassen in diesem Package implementieren dieses
* Interface. In ihm werden Methoden und Felder für die Auswertung
* von Status-Informationen und für die Rückgabe der Antwortdaten
* in ihrer ursprünglichen Form (wie sie in der HBCI-Nachricht enthalten
* waren) bereitgestellt.
*/
public interface HBCIJobResult {
/**
* Gibt zurück, wieviele HBCI-Statuscode (siehe
* {@link org.kapott.hbci.status.HBCIRetVal}) in den Statusdaten zu
* diesem Job gespeichert sind. Dabei werden die globalen Statusinformationen
* (die sich auf die gesamte Nachricht beziehen und nicht nur auf ein Segment
* dieses Jobs) nicht mitgezählt
*
* @return Anzahl der HBCI-Statuscodes in den Job-Statusinformationen
*/
int getResultsSize();
/**
* Gibt einen bestimmten HBCI-Statuscode aus den Job-Statusinformationen
* zurück. Die Anzahl der hier zur Verfügung stehenden Rückgabewerte kann
* mit {@link #getResultsSize()} ermittelt werden.
*
* @param idx Indenummer des HBCI-Statuscodes (von 0 bis Anzahl-1)
* @return einen HBCI-Statuscode
*/
HBCIRetVal getRetVal(int idx);
/**
* Gibt an, ob der Job erfolgreich ausgeführt wurde oder nicht.
* Bei true
ist der Job mit Sicherheit erfolgreich ausgeführt worden.
* Bei false
kann es sein, dass der Job trotzdem ausgeführt wurde und nur
* die Antwortnachricht vom HBCI-Server nicht empfangen werden konnte oder fehlerhaft war.
* In diesem Fall sollte also die Fehlermeldung aus
* {@link org.kapott.hbci.status.HBCIStatus#getErrorList() jobStatus.getErrorMessages()} bzw.
* {@link org.kapott.hbci.status.HBCIStatus#getErrorList() globStatus.getErrorMessages()}
* genau ausgewertet werden.
*
* @return true
, wenn der Auftrag mit Sicherheit erfolgreich
* eingereicht/ausgeführt wurde; sonst false
*/
boolean isOK();
/**
* Gibt die Dialog-ID zurück, unter der der dazugehörige Job ausgeführt wurde.
* Wird hauptsächlich intern verwendet. Zur Bereitstellung einer eindeutigen ID
* für den Job siehe {@link #getJobId()}.
*
* @return Dialog-ID des Dialoges, in welchem der Job ausgeführt wurde
*/
String getDialogId();
/**
* Gibt die Nachrichtennummer innerhalb des Dialoges zurück, in dem der dazugehörige Job
* ausgeführt wurde. Wird hauptsächlich intern verwendet. Zur Bereitstellung einer eindeutigen ID
* für den Job siehe {@link #getJobId()}.
*
* @return Nachrichtennummer der Nachricht, in welcher der Job ausgeführt wurde
*/
String getMsgNum();
/**
* Gibt die Segmentnummer des Segmentes innerhalb der Auftragsnachricht zurück,
* in welchem die Job-Daten übertragen wurden.
* Wird hauptsächlich intern verwendet. Zur Bereitstellung einer eindeutigen ID
* für den Job siehe {@link #getJobId()}.
*
* @return Segmentnummer des Auftragssegmentes
*/
String getSegNum();
/**
* Gibt einen Job-Identifikationsstring zurück, mit dessen Hilfe sich der Job
* für das {@link org.kapott.hbci.GV_Result.GVRStatus Statusprotokoll} identifizieren lässt
*
* @return die Job-Identifikationsnummer für den dazugehörigen Auftrag
*/
String getJobId();
/**
* Gibt die Job-Antwortdaten im Rohformat zurück.
* Für die Keys des Properties-Objektes gibt es zwei Ausprägungen:
*
* mit Prefix content.
bzw. content_NUM.
:
* Dieses Key-Value-Paar stellt ein Datenelement aus der Antwortnachricht dar.
* Der Rest des Keys (nach dem Prefix) gibt dabei den Lowlevel-Namen des
* Ergebnisdatenelementes an. Eine Liste aller möglichen Lowlevel-Namen kann
* zur Laufzeit mit
* {@link org.kapott.hbci.manager.HBCIHandler#getLowlevelJobResultNames(String)}
* oder mit {@link org.kapott.hbci.GV.AbstractHBCIJob#getJobResultNames()}
* ermittelt werden.
* mit Prefix basic
:
* Hier werden jobinterne Daten gespeichert:
*
* basic.dialogid
enthält die Dialog-ID, mit der der Job ausgeführt wurde
* basic.msgnum
enthält die Nachrichtennummer innerhalb des Dialoges, in dem der Job
* ausgeführt wurde
* basic.segnum
enthält die Segmentnummer innerhalb der Nachricht, in der der Job
* ausgeführt wurde
*
* Diese Daten sollten niemals manuell ausgewertet werden, da es diese basic
-Daten
* in Zukunft nicht mehr geben wird!
*
*
* @return die Antwortdaten im Rohformat
*/
Map getResultData();
/**
* Gibt ein Status-Objekt zurück, welches Status-Informationen zur HBCI-Nachricht selbst
* enthält, in der die Job-Auftragsdaten übermittelt wurden.
*
* @return Statusinformationen zur Auftragsnachricht
*/
HBCIStatus getGlobStatus();
/**
* Gibt ein Status-Objekt zurück, welches Status-Informationen über das Auftragssegment
* enthält, in dem die Job-Auftragsdaten übermittelt wurden.
*
* @return Status-Informationen, die genau diesen Job betreffen
*/
HBCIStatus getJobStatus();
/**
* Gibt das Passport-Objekt zurück, für welches der Job erzeugt wurde.
*
* @return Passport-Objekt
*/
HBCIPassportInternal getPassport();
}