Class DialogWaiter

  • All Implemented Interfaces:
    Outputable, Timeoutable, Waitable

    public class DialogWaiter
    extends WindowWaiter
    implements Timeoutable, Outputable
    A DialogWaiter is a utility class used to look or wait for Dialogs. It contains methods to search for a Dialog among the currently showing Dialogs as well as methods that wait for a Diaog to show within an allotted time period. Searches and waits can either involve search criteria applied by a ComponentChooser instance or a search criteria based on the Dialog title. Searches and waits can both be restricted to dialogs owned by a given window.

    Timeouts used:
    DialogWaiter.WaitDialogTimeout - time to wait dialog displayed
    DialogWaiter.AfterDialogTimeout - time to sleep after dialog has been dispayed
    Author:
    Alexandre Iline (alexandre.iline@sun.com)
    See Also:
    Timeouts
    • Constructor Detail

      • DialogWaiter

        public DialogWaiter()
        Constructor.
    • Method Detail

      • getDialog

        public static java.awt.Dialog getDialog​(ComponentChooser cc)
        Searches for a dialog. Search among the currently showing dialogs for one that meets the search criteria applied by the ComponentChooser parameter.
        Parameters:
        cc - A component chooser used to define and apply the search criteria.
        Returns:
        a reference to the first dialog that is showing and that meets the search criteria. If no such dialog can be found, a null reference is returned.
      • getDialog

        public static java.awt.Dialog getDialog​(ComponentChooser cc,
                                                int index)
        Searches for a dialog. The search proceeds among the currently showing dialogs for the index+1'th dialog that meets the criteria defined and applied by the ComonentChooser parameter.
        Parameters:
        cc - A component chooser used to define and apply the search criteria.
        index - The ordinal index of the dialog in the set of currently displayed dialogs. The first index is 0.
        Returns:
        a reference to the index+1'th dialog that is showing and that meets the search criteria. If there are fewer than index+1 dialogs, a null reference is returned.
      • getDialog

        public static java.awt.Dialog getDialog​(java.lang.String title,
                                                boolean ce,
                                                boolean cc)
        Searches for a dialog by title. The search proceeds among the currently showing dialogs for the first with a suitable title.
        Parameters:
        title - Dialog title or subtitle.
        ce - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        cc - If true the search is case sensitive; otherwise, the search is case insensitive.
        Returns:
        a reference to the first dialog that is showing and that has a suitable title. If no such dialog can be found, a null reference is returned.
      • getDialog

        public static java.awt.Dialog getDialog​(java.lang.String title,
                                                boolean ce,
                                                boolean cc,
                                                int index)
        Searches for a dialog by title. The search is for the index+1'th dialog among the currently showing dialogs that possess a suitable title.
        Parameters:
        title - Dialog title or subtitle.
        ce - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        cc - If true the search is case sensitive; otherwise, the search is case insensitive.
        index - Ordinal index between appropriate dialogs
        Returns:
        a reference to the index+1'th dialog that is showing and that has a suitable title. If there are fewer than index+1 dialogs, a null reference is returned.
      • getDialog

        public static java.awt.Dialog getDialog​(java.awt.Window owner,
                                                ComponentChooser cc)
        Searches for a dialog. Search among the currently showing dialogs for the first that is both owned by the java.awt.Window owner and that meets the search criteria applied by the ComponentChooser parameter.
        Parameters:
        owner - The owner window of the dialogs to be searched.
        cc - A component chooser used to define and apply the search criteria.
        Returns:
        a reference to the first dialog that is showing, has a proper owner window, and that meets the search criteria. If no such dialog can be found, a null reference is returned.
      • getDialog

        public static java.awt.Dialog getDialog​(java.awt.Window owner,
                                                ComponentChooser cc,
                                                int index)
        Searches for a dialog. The search proceeds among the currently showing dialogs for the index+1'th dialog that is both owned by the java.awt.Window owner and that meets the criteria defined and applied by the ComponentChooser parameter.
        Parameters:
        owner - The owner window of all the dialogs to be searched.
        cc - A component chooser used to define and apply the search criteria.
        index - Ordinal index between appropriate dialogs
        Returns:
        a reference to the index+1'th dialog that is showing, has the proper window ownership, and that meets the search criteria. If there are fewer than index+1 dialogs, a null reference is returned.
      • getDialog

        public static java.awt.Dialog getDialog​(java.awt.Window owner,
                                                java.lang.String title,
                                                boolean ce,
                                                boolean cc)
        Searches for a dialog by title. The search proceeds among the currently showing dialogs that are owned by the java.awt.Window owner for the first with a suitable title.
        Parameters:
        owner - A window - owner of a dialods to be checked.
        title - Dialog title or subtitle.
        ce - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        cc - If true the search is case sensitive; otherwise, the search is case insensitive.
        Returns:
        a reference to the first dialog that is showing, has the proper window ownership, and a suitable title. If no such dialog can be found, a null reference is returned.
      • getDialog

        public static java.awt.Dialog getDialog​(java.awt.Window owner,
                                                java.lang.String title,
                                                boolean ce,
                                                boolean cc,
                                                int index)
        Searches for a dialog by title. The search is for the index+1'th dialog among the currently showing dialogs that are owned by the java.awt.Window owner and that have a suitable title.
        Parameters:
        owner - ?title? Dialog title or subtitle.
        title - ?ce? If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        ce - ?cc? If true the search is case sensitive; otherwise, the search is case insensitive.
        cc - ?index? The ordinal index of the dialog in the set of currently displayed dialogs with the proper window ownership and a suitable title. The first index is 0.
        index - Ordinal index between appropriate dialogs
        Returns:
        a reference to the index+1'th dialog that is showing, has the proper window ownership, and a suitable title. If there are fewer than index+1 dialogs, a null reference is returned.
      • waitDialog

        public java.awt.Dialog waitDialog​(ComponentChooser ch,
                                          int index)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for the index+1'th dialog that meets the criteria defined and applied by the ComonentChooser parameter to show up.
        Parameters:
        ch - A component chooser used to define and apply the search criteria.
        index - The ordinal index of the dialog in the set of currently displayed dialogs. The first index is 0.
        Returns:
        a reference to the index+1'th dialog that shows and that meets the search criteria. If fewer than index+1 dialogs show up in the allotted time period then a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • waitDialog

        public java.awt.Dialog waitDialog​(ComponentChooser ch)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for a dialog that meets the search criteria applied by the ComponentChooser parameter to show up.
        Parameters:
        ch - A component chooser used to define and apply the search criteria.
        Returns:
        a reference to the first dialog that shows and that meets the search criteria. If no such dialog can be found within the time period allotted, a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • waitDialog

        public java.awt.Dialog waitDialog​(java.lang.String title,
                                          boolean compareExactly,
                                          boolean compareCaseSensitive,
                                          int index)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for the index+1'th dialog to show with a suitable title.
        Parameters:
        title - Dialog title or subtitle.
        compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
        index - The ordinal index of the dialog in the set of currently displayed dialogs with the proper window ownership and a suitable title. The first index is 0.
        Returns:
        a reference to the index+1'th dialog to show and that has a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • waitDialog

        public java.awt.Dialog waitDialog​(java.lang.String title,
                                          boolean compareExactly,
                                          boolean compareCaseSensitive)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for the first dialog to show with a suitable title.
        Parameters:
        title - Dialog title or subtitle.
        compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
        Returns:
        a reference to the first dialog to show and that has a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • waitDialog

        public java.awt.Dialog waitDialog​(java.awt.Window owner,
                                          ComponentChooser ch,
                                          int index)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for the index+1'th dialog to show that is both owned by the java.awt.Window owner and that meets the criteria defined and applied by the ComponentChooser parameter.
        Parameters:
        owner - The owner window of all the dialogs to be searched.
        ch - A component chooser used to define and apply the search criteria.
        index - The ordinal index of the dialog in the set of currently displayed dialogs with the proper window ownership and a suitable title. The first index is 0.
        Returns:
        a reference to the index+1'th dialog to show that has the proper window ownership, and that meets the search criteria. If there are fewer than index+1 dialogs, a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • waitDialog

        public java.awt.Dialog waitDialog​(java.awt.Window owner,
                                          ComponentChooser ch)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for the first dialog to show that is both owned by the java.awt.Window owner and that meets the criteria defined and applied by the ComponentChooser parameter.
        Parameters:
        owner - The owner window of all the dialogs to be searched.
        ch - A component chooser used to define and apply the search criteria.
        Returns:
        a reference to the first dialog to show that has the proper window ownership, and that meets the search criteria. If there is no such dialog, a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • waitDialog

        public java.awt.Dialog waitDialog​(java.awt.Window owner,
                                          java.lang.String title,
                                          boolean compareExactly,
                                          boolean compareCaseSensitive,
                                          int index)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for the index+1'th dialog to show with the proper owner and a suitable title.
        Parameters:
        owner - The owner window of all the dialogs to be searched.
        title - Dialog title or subtitle.
        compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
        index - Ordinal index between appropriate dialogs
        Returns:
        a reference to the index+1'th dialog to show that has both the proper owner window and a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • waitDialog

        public java.awt.Dialog waitDialog​(java.awt.Window owner,
                                          java.lang.String title,
                                          boolean compareExactly,
                                          boolean compareCaseSensitive)
                                   throws java.lang.InterruptedException
        Waits for a dialog to show. Wait for the first dialog to show with the proper owner and a suitable title.
        Parameters:
        owner - The owner window of all the dialogs to be searched.
        title - Dialog title or subtitle.
        compareExactly - If true and the search is case sensitive, then a match occurs when the title argument is a substring of a dialog title. If false and the search is case sensitive, then the title argument and the dialog title must be the same. If true and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case. If false and the search is case insensitive, then a match occurs when the title argument is a substring of the dialog title after changing both to upper case.
        compareCaseSensitive - If true the search is case sensitive; otherwise, the search is case insensitive.
        Returns:
        a reference to the first dialog to show and that has both the proper owner and a suitable title. If no such dialog can be found within the time period allotted, a null reference is returned.
        Throws:
        TimeoutExpiredException
        java.lang.InterruptedException
        See Also:
        WindowWaiter.actionProduced(Object)
      • getTimeoutExpiredMessage

        protected java.lang.String getTimeoutExpiredMessage​(long spendedTime)
        Overrides WindowWaiter.getTimeoutExpiredMessage. Returns the timeout expired message value.
        Overrides:
        getTimeoutExpiredMessage in class WindowWaiter
        Parameters:
        spendedTime - Time spent for waiting
        Returns:
        A message string.
        See Also:
        Waiter.getTimeoutExpiredMessage(long)
      • getActionProducedMessage

        protected java.lang.String getActionProducedMessage​(long spendedTime,
                                                            java.lang.Object result)
        Overrides WindowWaiter.getActionProducedMessage. Returns the action produced message value.
        Overrides:
        getActionProducedMessage in class WindowWaiter
        Parameters:
        spendedTime - Time spent for waiting
        result - A result of the action
        Returns:
        A message string.
        See Also:
        Waiter.getActionProducedMessage(long, Object)