All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.kapott.hbci.status.HBCIExecThreadedStatus Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version

/*  $Id: HBCIExecThreadedStatus.java,v 1.1 2011/05/04 22:38:02 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 Public 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 Public License for more details.

    You should have received a copy of the GNU General Public 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.status;

import java.util.Hashtable;

/** 

Wird für Status-Informationen bei Verwendung des threaded-callback-Mechanismus' * benötigt. Für den threaded-callback-Mechanismus werden die Methoden * {@link org.kapott.hbci.manager.HBCIHandler#executeThreaded()} und * {@link org.kapott.hbci.manager.HBCIHandler#continueThreaded(String)} * verwendet, die jeweils ein Objekt von HBCIExecThreadedStatus * zurückgeben.

*

Objekte dieser Klasse geben zunächst Auskunft darüber, warum * executeThreaded() bzw. continueThreaded() * terminiert sind. Ursache kann zum einen sein, dass Callback-Daten benötigt * werden - in diesem Fall enthält das HBCIExecThreadedStatus-Objekt * die Informationen zum aufgetretenen Callback. Andernfalls zeigt das * HBCIExecThreadedStatus-Objekt an, dass der HBCI-Dialog beendet * ist - in diesem Fall sind die HBCI-Dialog-Status-Informationen als * {@link HBCIExecStatus}-Objekt enthalten (analog zum Rückgabewert von * {@link org.kapott.hbci.manager.HBCIHandler#execute()}.

*/ public class HBCIExecThreadedStatus { private Hashtable callbackData; private HBCIExecStatus execStatus; /** Callback-Daten in diesem Objekt speichern. Wird nur vom HBCI-Kernel * aufgerufen. */ public void setCallbackData(Hashtable callbackData) { this.callbackData=callbackData; } /** Callback-Daten auslesen. Wenn {@link #isCallback()} true * ist, bedeutet das, dass ein Callback aufgetreten ist, der behandelt * werden muss. Die zurückgegebene Hashtable enthält folgende * Werte: *
    *
  • "method": ist im Moment immer "callback"
  • *
  • "passport": enthält das Passport-Objekt, dessen HBCI-Dialog * Callback-Daten benötigt.
  • *
  • "reason": enthält den Callback-Reason als * Integer-Objekt.
  • *
  • "msg": enthält die Callback-Message.
  • *
  • "dataType": enthält den erwarteten Datentyp der Antwort * als Integer-Objekt.
  • *
  • "retData": enthält das retData-Objekt * (StringBuffer), in welches die Callback-Daten hineingeschrieben * werden müssen.
  • *
*/ public Hashtable getCallbackData() { return this.callbackData; } /** Speichern des Dialog-Status. Wird nur vom HBCI-Kernel aufgerufen.*/ public void setExecStatus(HBCIExecStatus status) { this.execStatus=status; } /** Auslesen des HBCI-Dialog-Status. Falls die Methode {@link #isFinished()} * true zurückgibt, bedeutet das, dass der HBCI-Dialog beendet * ist. In diesem Fall kann mit getExecStatus das * {@link HBCIExecStatus}-Objekt ausgelesen werden, welches den eigentlichen * Status des HBCI-Dialoges anzeigt (analog zu * {@link org.kapott.hbci.manager.HBCIHandler#execute()}). */ public HBCIExecStatus getExecStatus() { return this.execStatus; } /** Zeigt an, ob der HBCI-Dialog beendet ist (true). */ public boolean isFinished() { return execStatus!=null; } /** Zeigt an, ob Callback-Daten benötigt werden (true), oder * ob der HBCI-Dialog beendet ist (false). */ public boolean isCallback() { return callbackData!=null; } /** Gibt einen String mit allen gespeicherten Informationen zurück. */ public String toString() { StringBuffer ret=new StringBuffer(); String linesep=System.getProperty("line.separator"); ret.append("isCallback: "+isCallback()+linesep); if (isCallback()) { ret.append(" method: "+callbackData.get("method")+linesep); ret.append(" reason: "+callbackData.get("reason")+linesep); ret.append(" msg: "+callbackData.get("msg")+linesep); } ret.append("isFinished: "+isFinished()+linesep); if (isFinished()) { ret.append(getExecStatus().toString()); } return ret.toString(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy