Class ApplicationCallbackConsole
- java.lang.Object
-
- de.willuhn.jameica.system.AbstractApplicationCallback
-
- de.willuhn.jameica.system.ApplicationCallbackConsole
-
- All Implemented Interfaces:
ApplicationCallback
public class ApplicationCallbackConsole extends AbstractApplicationCallback
Implementierung des ApplicationCallback fuer den Server-Mode. Dieser Callback kommuniziert mit dem Benutzer ueber die Console.
-
-
Constructor Summary
Constructors Constructor Description ApplicationCallbackConsole()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringaskPassword(java.lang.String question)Benoetigt Jameica ein Passwort, wird diese Funktion aufgerufen.booleanaskUser(java.lang.String question)Wird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.booleanaskUser(java.lang.String question, boolean storeAnswer)Wird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.java.lang.StringaskUser(java.lang.String question, java.lang.String labeltext)Benoetigt Jameica eine Benutzereingabe (zum Beispiel zur Abfrage des Hostnamens) wird diese Funktion aufgerufen.booleanaskUser(java.lang.String question, java.lang.String[] variables)Wird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.booleanaskUser(java.lang.String question, java.lang.String[] variables, boolean storeAnswer)Wird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.voidchangePassword()Ueber diese Funktion kann das Passwort des Keystores geaendert werden.booleancheckTrust(java.security.cert.X509Certificate cert)Wird aufgerufen, wenn dem TrustManager von Jameica ein Zertifikat angeboten wird, dass er nicht in seinem Truststore hat.java.lang.StringcreatePassword()Wird beim ersten Start von Jameica aufgerufen, um ein neues Master-Passwort festzulegen.java.lang.StringgetPassword()Liefert das Master-Passwort der Jameica-Installation.java.lang.StringgetPassword(LoginVerifier verifier)Liefert das Master-Passwort der Jameica-Installation.de.willuhn.util.ProgressMonitorgetShutdownMonitor()Liefert einen Progress-Monitor ueber den der Fortschritt des System-Shutdown ausgegeben werden kann.de.willuhn.util.ProgressMonitorgetStartupMonitor()Liefert einen Progress-Monitor ueber den der Fortschritt des System-Starts ausgegeben werden kann.java.lang.StringgetUsername()Liefert den eingegebenen Benutzernamen, insofern der Start im Masterpasswort-Dialog mit Benutzername erfolgte.booleanlockExists(java.lang.String lockfile)Wird aufgerufen, wenn das Lock-File von Jameica beim Start bereits existiert.Loginlogin(JameicaAuthenticator auth)Fragt vom User ein Login ab.voidnotifyUser(java.lang.String text)Kann benutzt werden, um z.Bsp.voidstartupError(java.lang.String errorMessage, java.lang.Throwable t)Diese Funktion wird von Jameica aufgerufen, wenn der Start voellig fehlschlug.-
Methods inherited from class de.willuhn.jameica.system.AbstractApplicationCallback
checkHostname, getHostname
-
-
-
-
Method Detail
-
lockExists
public boolean lockExists(java.lang.String lockfile)
Description copied from interface:ApplicationCallbackWird aufgerufen, wenn das Lock-File von Jameica beim Start bereits existiert. Es ist Sache der Implementierung, dies dem Benutzer darzulegen.- Parameters:
lockfile- Pfad und Dateiname des Lockfiles.- Returns:
true, wenn der Start von Jameica dennoch fortgesetzt werden soll.false, wenn der Start abgebrochen werden soll.- See Also:
ApplicationCallback.lockExists(java.lang.String)
-
getUsername
public java.lang.String getUsername()
Description copied from interface:ApplicationCallbackLiefert den eingegebenen Benutzernamen, insofern der Start im Masterpasswort-Dialog mit Benutzername erfolgte.- Returns:
- der eingegebene Username oder
null. - See Also:
ApplicationCallback.getUsername()
-
createPassword
public java.lang.String createPassword() throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackWird beim ersten Start von Jameica aufgerufen, um ein neues Master-Passwort festzulegen.Es ist dabei der implementierenden Klasse ueberlassen, wie diese Abfrage aussieht. Sprich: Ob sie nun nur ein Eingabefeld zur Vergabe des Passwortes anzeigt oder zwei, wovon letzteres zur Passwort-Wiederholung (Vermeidung von Tippfehlern) dient, ist der Implementierung ueberlassen.
- Returns:
- das neu zu verwendende Passwort.
- Throws:
java.lang.Exception- See Also:
ApplicationCallback.createPassword()
-
getPassword
public java.lang.String getPassword() throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackLiefert das Master-Passwort der Jameica-Installation.Es ist der implementierenden Klasse ueberlassen, das eingegebene Passwort ueber die Dauer der aktuellen Jameica-Sitzung zu cachen, um den Benutzer nicht dauernd mit der Neueingabe des Passwortes zu nerven.
- Returns:
- das existierende Passwort.
- Throws:
java.lang.Exception- See Also:
ApplicationCallback.getPassword()
-
getPassword
public java.lang.String getPassword(LoginVerifier verifier) throws java.lang.Exception
Description copied from interface:ApplicationCallbackLiefert das Master-Passwort der Jameica-Installation.Es ist der implementierenden Klasse ueberlassen, das eingegebene Passwort ueber die Dauer der aktuellen Jameica-Sitzung zu cachen, um den Benutzer nicht dauernd mit der Neueingabe des Passwortes zu nerven.
- Parameters:
verifier- optionaler Login-Verifier, der von der implementierenden Klasse verwendet werden kann, um das Passwort zu auf Korrektheit pruefen, bevor die Methode verlassen wird.- Returns:
- das existierende Passwort.
- Throws:
java.lang.Exception- See Also:
ApplicationCallback.getPassword(de.willuhn.jameica.security.LoginVerifier)
-
changePassword
public void changePassword() throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackUeber diese Funktion kann das Passwort des Keystores geaendert werden.Alles, was die implementierende Klasse zu tun hat, ist einen Dialog zur Passwort-Aenderung anzuzeigen und von nun an in der Funktion
ApplicationCallback.getPassword()das neue Passwort zu liefern.Nochmal: Es ist nicht Aufgabe des ApplicationCallbacks, das Passwort im System zu aendern, sondern lediglich das neue Passwort vom Benutzer abzufragen und es anschliessend ueber
ApplicationCallback.getPassword()zur Verfuegung zu stellen.- Throws:
java.lang.Exception- See Also:
ApplicationCallback.changePassword()
-
getStartupMonitor
public de.willuhn.util.ProgressMonitor getStartupMonitor()
Description copied from interface:ApplicationCallbackLiefert einen Progress-Monitor ueber den der Fortschritt des System-Starts ausgegeben werden kann. Im GUI-Mode ist das ein Splash-Screen.- Returns:
- ein Progress-Monitor.
- See Also:
ApplicationCallback.getStartupMonitor()
-
getShutdownMonitor
public de.willuhn.util.ProgressMonitor getShutdownMonitor()
Description copied from interface:ApplicationCallbackLiefert einen Progress-Monitor ueber den der Fortschritt des System-Shutdown ausgegeben werden kann. Im GUI-Mode ist das ein Splash-Screen.- Returns:
- ein Progress-Monitor.
- See Also:
ApplicationCallback.getShutdownMonitor()
-
startupError
public void startupError(java.lang.String errorMessage, java.lang.Throwable t)Description copied from interface:ApplicationCallbackDiese Funktion wird von Jameica aufgerufen, wenn der Start voellig fehlschlug. Die implementierende Klasse muss diese Fehlermeldung dem Benutzer anzeigen. Anschliessend beendet sich Jameica.- Parameters:
errorMessage- die anzuzeigende Fehlermeldung.t- Ein ggf. existierender Fehler.- See Also:
ApplicationCallback.startupError(java.lang.String, java.lang.Throwable)
-
askUser
public java.lang.String askUser(java.lang.String question, java.lang.String labeltext) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackBenoetigt Jameica eine Benutzereingabe (zum Beispiel zur Abfrage des Hostnamens) wird diese Funktion aufgerufen.- Parameters:
question- Die anzuzeigende Frage.labeltext- Der Name des Attributes oder Feldes, welches eingegeben werden soll.- Returns:
- der vom User eingegebene Text.
- Throws:
java.lang.Exception- See Also:
ApplicationCallback.askUser(java.lang.String, java.lang.String)
-
askPassword
public java.lang.String askPassword(java.lang.String question) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackBenoetigt Jameica ein Passwort, wird diese Funktion aufgerufen.- Parameters:
question- Die anzuzeigende Frage.- Returns:
- der vom User eingegebene Text.
- Throws:
java.lang.Exception- See Also:
ApplicationCallback.askPassword(java.lang.String)
-
checkTrust
public boolean checkTrust(java.security.cert.X509Certificate cert) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackWird aufgerufen, wenn dem TrustManager von Jameica ein Zertifikat angeboten wird, dass er nicht in seinem Truststore hat. Der Benutzer soll dann entscheiden, ob er dem Zertifikat vertraut.- Parameters:
cert- das dem Benutzer anzuzeigende Zertifikat.- Returns:
true, wenn der TrustManager das Zertifikate akzeptieren und zum Truststore hinzufuegen soll. Andernfallsfalse.- Throws:
java.lang.Exception- See Also:
ApplicationCallback.checkTrust(java.security.cert.X509Certificate)
-
notifyUser
public void notifyUser(java.lang.String text) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackKann benutzt werden, um z.Bsp. eine wichtig Fehlermeldung anzuzeigen.- Parameters:
text- der anzuzeigende Text.- Throws:
java.lang.Exception- See Also:
ApplicationCallback.notifyUser(java.lang.String)
-
askUser
public boolean askUser(java.lang.String question) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackWird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.- Parameters:
question- Die anzuzeigende Frage.- Returns:
truefuer ja,falsefuer nein.- Throws:
java.lang.Exception- See Also:
ApplicationCallback.askUser(java.lang.String)
-
askUser
public boolean askUser(java.lang.String question, java.lang.String[] variables) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackWird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.Hintergrund: Jameica speichert
questionals Key in einer Properties-Datei, falls der User die Option "Frage nicht mehr anzeigen" aktiviert hat. Enthaelt die Frage nun aber variablen Text, wuerde die selbe Frage immer wieder kommen - nur weil ein paar Variablen anders sind und somit der Key in der Properties-Datei nicht mehr uebereinstimmt. Daher kann man stattdessen diese Funktion hier verwenden. Im Text benutzt man (wie beiI18N.tr(String, String[])) die Platzhalter "{0}","{1}",... und uebergibt als String-Array die einzutragenden Variablen.- Parameters:
question- Die anzuzeigende Frage.variables- mittels MessageFormat einzutragende Variablen.- Returns:
truefuer ja,falsefuer nein.- Throws:
java.lang.Exception- See Also:
ApplicationCallback.askUser(java.lang.String, java.lang.String[])
-
askUser
public boolean askUser(java.lang.String question, boolean storeAnswer) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackWird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.- Parameters:
question- Die anzuzeigende Frage.storeAnswer-true, wenn die Option "Diese Frage künftig nicht mehr anzeigen" angezeigt werden soll.- Returns:
truefuer ja,falsefuer nein.- Throws:
java.lang.Exception- See Also:
ApplicationCallback.askUser(java.lang.String, boolean)
-
askUser
public boolean askUser(java.lang.String question, java.lang.String[] variables, boolean storeAnswer) throws java.lang.ExceptionDescription copied from interface:ApplicationCallbackWird von Jameica aufgerufen, wenn der Benutzer eine Frage mit Ja/Nein beantworten soll.Hintergrund. Jameica speichert
questionals Key in einer Properties-Datei, falls der User die Option "Frage nicht mehr anzeigen" aktiviert hat. Enthaelt die Frage nun aber variablen Text, wuerde die selbe Frage immer wieder kommen - nur weil ein paar Variablen anders sind und somit der Key in der Properties-Datei nicht mehr uebereinstimmt. Daher kann man stattdessen diese Funktion hier verwenden. Im Text benutzt man (wie beiI18N.tr(String, String[])) die Platzhalter "{0}","{1}",... und uebergibt als String-Array die einzutragenden Variablen.- Parameters:
question- Die anzuzeigende Frage.variables- mittels MessageFormat einzutragende Variablen.storeAnswer-true, wenn die Option "Diese Frage künftig nicht mehr anzeigen" angezeigt werden soll.- Returns:
truefuer ja,falsefuer nein.- Throws:
java.lang.Exception- See Also:
ApplicationCallback.askUser(java.lang.String, java.lang.String[], boolean)
-
login
public Login login(JameicaAuthenticator auth) throws java.lang.Exception
Description copied from interface:ApplicationCallbackFragt vom User ein Login ab.- Specified by:
loginin interfaceApplicationCallback- Overrides:
loginin classAbstractApplicationCallback- Parameters:
auth- der Authenticator. Er liefert Context-Infos zum abgefragten Login.- Returns:
- das Login.
- Throws:
java.lang.Exception- See Also:
ApplicationCallback.login(de.willuhn.jameica.security.JameicaAuthenticator)
-
-