Class Waiter

  • All Implemented Interfaces:
    Outputable, Timeoutable, Waitable
    Direct Known Subclasses:
    WindowWaiter

    public class Waiter
    extends Object
    implements Waitable, Timeoutable, Outputable
    Waits for something defined by Waitable interface to be happened.

    Timeouts used:
    Waiter.TimeDelta - time delta to check actionProduced result.
    Waiter.WaitingTime - maximal waiting time
    Waiter.AfterWaitingTime - time to sleep after waiting has been finished.
    Author:
    Alexandre Iline (alexandre.iline@sun.com)
    See Also:
    Timeouts, Waitable
    • Constructor Detail

      • Waiter

        public Waiter​(Waitable w)
        Constructor.
        Parameters:
        w - Waitable object defining waiting criteria.
      • Waiter

        protected Waiter()
        Can be used from subclass.
    • Method Detail

      • setTimeoutsToCloneOf

        public Timeouts setTimeoutsToCloneOf​(Timeouts timeouts,
                                             String useAsWaitingTime)
        Like setTimeouts(Timeouts), but clones the timeouts first, then sets "Waiter.WaitingTime" to the timeout whose name is passed in. This name is remembered for display in timeout error messages so people know what to adjust.
        Parameters:
        timeouts - to be cloned and in which to look up "useAsWaitingTime".
        useAsWaitingTime - the name of the timeout to apply to "Waiter.WaitingTime".
        Returns:
        the cloned timeouts.
      • setWaitingTimeOrigin

        public void setWaitingTimeOrigin​(String origin)
        Sets the origin of the current "Waiter.WaitingTime" to be shown in timeout error messages
        Parameters:
        origin - is the name of the origin.
      • actionProduced

        public Object actionProduced​(Object obj)
        Description copied from interface: Waitable
        Checks if wait criteria have been met.
        Specified by:
        actionProduced in interface Waitable
        Parameters:
        obj -
        Returns:
        null is criteria have not been met.
        See Also:
        Waitable
      • getDescription

        public String getDescription()
        Description copied from interface: Waitable
        Returns description.
        Specified by:
        getDescription in interface Waitable
        Returns:
        a description of the wait criteria.
        See Also:
        Waitable
      • getWaitingStartedMessage

        protected String getWaitingStartedMessage()
        Returns message to be printed before waiting start.
        Returns:
        a message.
      • getTimeoutExpiredMessage

        protected String getTimeoutExpiredMessage​(long timeSpent)
        Returns message to be printed when waiting timeout has been expired.
        Parameters:
        timeSpent - time from waiting start (milliseconds)
        Returns:
        a message.
      • getActionProducedMessage

        protected String getActionProducedMessage​(long timeSpent,
                                                  Object result)
        Returns message to be printed when waiting has been successfully finished.
        Parameters:
        timeSpent - time from waiting start (milliseconds)
        result - result of Waitable.actionproduced method.
        Returns:
        a message.
      • getGoldenWaitingStartedMessage

        protected String getGoldenWaitingStartedMessage()
        Returns message to be printed int golden output before waiting start.
        Returns:
        a message.
      • getGoldenTimeoutExpiredMessage

        protected String getGoldenTimeoutExpiredMessage()
        Returns message to be printed int golden output when waiting timeout has been expired.
        Returns:
        a message.
      • getGoldenActionProducedMessage

        protected String getGoldenActionProducedMessage()
        Returns message to be printed int golden output when waiting has been successfully finished.
        Returns:
        a message.
      • timeFromStart

        protected long timeFromStart()
        Returns time from waiting start.
        Returns:
        Time spent for waiting already.