Class NewPasswordDialog


  • public class NewPasswordDialog
    extends AbstractDialog
    Dialog zur Neuvergabe von Passworten.

    Die Klasse implementiert bereits die Funktion checkPassword(String, String) und prueft dort, ob ueberhaupt Passworter eingegeben wurden und ob beide uebereinstimmen. Sollen weitere Pruefungen vorgenommen werden, dann bitte einfach diese Funktion ueberschreiben.

    • Constructor Summary

      Constructors 
      Constructor Description
      NewPasswordDialog​(int position)
      Erzeugt einen neuen Passwort-Dialog.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean checkPassword​(java.lang.String password, java.lang.String password2)
      Prueft die Eingabe der Passworte.
      protected boolean checkUsername​(java.lang.String username)
      Prueft die Eingabe des Usernamens, insofern das Eingabefeld vorhanden ist.
      protected java.lang.Object getData()
      Diese Funktion wird beim Schliessen des Dialogs in open() aufgerufen und liefert die ausgewaehlten Daten zurueck.
      java.lang.String getUsername()
      Liefert den eingegebenen Benutzernamen.
      protected void onEscape()
      Kann ueberschrieben werden, um zu beeinflussen, was passieren soll, wenn der User versucht, den Dialog mit Escape zu beenden.
      protected void paint​(org.eclipse.swt.widgets.Composite parent)
      Muss vom abgeleiteten Dialog ueberschrieben werden.
      void setErrorText​(java.lang.String text)
      Zeigt den uebergebenen Text rot markiert links neben dem OK-Button an.
      void setLabel2Text​(java.lang.String text)
      Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Wiederholung angezeigt werden soll (Optional).
      void setLabelText​(java.lang.String text)
      Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Eingabe angezeigt werden soll (Optional).
      void setText​(java.lang.String text)
      Speichert den anzuzeigenden Text.
      void setUsernameText​(java.lang.String text)
      Speichert ein optionales Label fuer die zusaetzliche Eingabe eines Usernamens.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • setText

        public void setText​(java.lang.String text)
        Speichert den anzuzeigenden Text.
        Parameters:
        text - anzuzeigender Text.
      • onEscape

        protected void onEscape()
        Description copied from class: AbstractDialog
        Kann ueberschrieben werden, um zu beeinflussen, was passieren soll, wenn der User versucht, den Dialog mit Escape zu beenden. Per Default wirft die Funktion eine OperationCancelledException, um den Dialog zu schliessen. Die Exception wird bis zum Aufrufer durchgereicht. Wenn er also um das open() ein try/catch macht und die OperationCancelledException faengt, kann er erkennen, ob der Dialog abgebrochen wurde. Um zum Beispiel zu verhinden, dass ein Dialog mit Escape abgebrochen werden kann, ueberschreibt man die Funktion einfach laesst sie leer. Will man hingegen zulassen, dass mit Escape abgebrochen wird, man dieses Event jedoch mitkriegen will, dann ueberschreibt man die Funktion, fuehrt dort die gewuenschten Aufgaben aus und macht anschliessend ein super.onEscape() um die OperationCancelledException auszuloesen. Alternativ kann man sie auch selbst werfen.
        Overrides:
        onEscape in class AbstractDialog
        See Also:
        AbstractDialog.onEscape()
      • setUsernameText

        public void setUsernameText​(java.lang.String text)
        Speichert ein optionales Label fuer die zusaetzliche Eingabe eines Usernamens. Wird hier ein Wert uebergeben, zeigt der Dialog neben den beiden Passwort-Feldern extra noch ein Feld fuer den Usernamen an.

        Der eingegebene Wert kann nach dem Aufruf von open() mit getUsername() ermittelt werden.

        Wenn das Eingabefeld fuer den Usernamen angezeigt wird, ist es auch Pflicht. Es gibt also entweder gar keinen Usernamen oder ein verpflichtetenden. Jedoch keinen optionalen Usernamen.

        Parameters:
        text - das anzuzeigende Label vor dem Eingabefeld, insofern es angezeigt werden soll.
      • setLabelText

        public void setLabelText​(java.lang.String text)
        Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Eingabe angezeigt werden soll (Optional).
        Parameters:
        text - anzuzeigender Text.
      • setLabel2Text

        public void setLabel2Text​(java.lang.String text)
        Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Wiederholung angezeigt werden soll (Optional).
        Parameters:
        text - anzuzeigender Text.
      • setErrorText

        public final void setErrorText​(java.lang.String text)
        Zeigt den uebergebenen Text rot markiert links neben dem OK-Button an. Diese Funktion sollte aus checkPassword(String, String) heraus aufgerufen werden, um dem Benutzer zu zeigen, warum seine Passwort-Eingabe falsch war.
        Parameters:
        text - Der anzuzeigende Fehlertext.
      • paint

        protected void paint​(org.eclipse.swt.widgets.Composite parent)
                      throws java.lang.Exception
        Description copied from class: AbstractDialog
        Muss vom abgeleiteten Dialog ueberschrieben werden. In dieser Funktion soll er sich bitte malen. Sie wird anschliessend von open() ausgefuehrt.
        Specified by:
        paint in class AbstractDialog
        Parameters:
        parent - das Composite, in dem der Dialog gemalt werden soll. Hinweis: Das Composite enthaelt bereits ein einspaltiges GridLayout.
        Throws:
        java.lang.Exception - Kann von der abgeleiteten Klasse geworfen werden. Tut sie das, wird der Dialog nicht angezeigt.
        See Also:
        AbstractDialog.paint(org.eclipse.swt.widgets.Composite)
      • checkUsername

        protected boolean checkUsername​(java.lang.String username)
        Prueft die Eingabe des Usernamens, insofern das Eingabefeld vorhanden ist.
        Parameters:
        username - der eingegebene Username.
        Returns:
        true, wenn die Eingabe OK ist, andernfalls false.
      • checkPassword

        protected boolean checkPassword​(java.lang.String password,
                                        java.lang.String password2)
        Prueft die Eingabe der Passworte.
        Parameters:
        password - das gerade eingegebene Passwort.
        password2 - die Passwort-Wiederholung.
        Returns:
        true, wenn die Eingabe OK ist, andernfalls false.
      • getData

        protected java.lang.Object getData()
                                    throws java.lang.Exception
        Description copied from class: AbstractDialog
        Diese Funktion wird beim Schliessen des Dialogs in open() aufgerufen und liefert die ausgewaehlten Daten zurueck. Die ableitende Klasse sollte hier also die Informationen rein tuen, die sie dem Aufrufer gern geben moechte.
        Specified by:
        getData in class AbstractDialog
        Returns:
        das ausgewaehlte Objekt.
        Throws:
        java.lang.Exception
        See Also:
        AbstractDialog.getData()
      • getUsername

        public java.lang.String getUsername()
        Liefert den eingegebenen Benutzernamen.
        Returns:
        der eingegebene Benutzername.