Class AbstractScrollDriver

java.lang.Object
org.netbeans.jemmy.drivers.LightSupportiveDriver
org.netbeans.jemmy.drivers.scrolling.AbstractScrollDriver
All Implemented Interfaces:
LightDriver, ScrollDriver
Direct Known Subclasses:
AWTScrollDriver, JScrollBarAPIDriver, JScrollBarDriver, JSliderAPIDriver, JSliderDriver

public abstract class AbstractScrollDriver extends LightSupportiveDriver implements ScrollDriver
Superclass for all scroll drivers. Contains all the logic of scrolling. Tries allowed operations in this order: "jump", "drag'n'drop", "push'n'wait", "step". Repeats "step" scrolling while scroller value is not equal to the necessary value, but no more than ADJUST_CLICK_COUNT.
Author:
Alexandre Iline(alexandre.iline@sun.com)
  • Field Details

    • ADJUST_CLICK_COUNT

      public static final int ADJUST_CLICK_COUNT
      Maximal number of attempts to reach required position by minimal scrolling operation.
      See Also:
    • SCROLL_FREEZE_TIMEOUT

      public static final String SCROLL_FREEZE_TIMEOUT
  • Constructor Details

    • AbstractScrollDriver

      public AbstractScrollDriver(String[] supported)
      Constructs an AbstractScrollDriver.
      Parameters:
      supported - an array of supported class names
  • Method Details

    • scroll

      public void scroll(ComponentOperator oper, ScrollAdjuster adj)
      Description copied from interface: ScrollDriver
      Changes value.
      Specified by:
      scroll in interface ScrollDriver
      Parameters:
      oper - Scroller operator.
      adj - Object defines scroll position.
    • step

      protected abstract void step(ComponentOperator oper, ScrollAdjuster adj)
      Performs minimal scrolling step.
      Parameters:
      oper - an operator.
      adj - a scroll adjuster
    • jump

      protected abstract void jump(ComponentOperator oper, ScrollAdjuster adj)
      Performs maximal scroll step.
      Parameters:
      oper - an operator.
      adj - a scroll adjuster
    • startPushAndWait

      protected abstract void startPushAndWait(ComponentOperator oper, int direction, int orientation)
      Presses something like a scroll button.
      Parameters:
      oper - an operator.
      direction - - one of the ScrollAdjister.INCREASE_SCROLL_DIRECTION, ScrollAdjister.DECREASE_SCROLL_DIRECTION, ScrollAdjister.DO_NOT_TOUCH_SCROLL_DIRECTION values.
      orientation - one of the Adjustable.HORIZONTAL or Adjustable.VERTICAL values.
    • stopPushAndWait

      protected abstract void stopPushAndWait(ComponentOperator oper, int direction, int orientation)
      Releases something like a scroll button.
      Parameters:
      oper - an operator.
      direction - - one of the ScrollAdjister.INCREASE_SCROLL_DIRECTION, ScrollAdjister.DECREASE_SCROLL_DIRECTION, ScrollAdjister.DO_NOT_TOUCH_SCROLL_DIRECTION values.
      orientation - one of the Adjustable.HORIZONTAL or Adjustable.VERTICAL values.
    • startDragging

      protected abstract Point startDragging(ComponentOperator oper)
      Starts drag'n'drop scrolling.
      Parameters:
      oper - an operator.
      Returns:
      start drugging point.
    • drop

      protected abstract void drop(ComponentOperator oper, Point pnt)
      Drop at a specified point.
      Parameters:
      oper - an operator.
      pnt - the point to drop.
    • drag

      protected abstract void drag(ComponentOperator oper, Point pnt)
      Drag to a specified point.
      Parameters:
      oper - an operator.
      pnt - the point to drag to.
    • getScrollDeltaTimeout

      protected abstract Timeout getScrollDeltaTimeout(ComponentOperator oper)
      Returns a timeout for sleeping between verifications during "push and wait" scrolling.
      Parameters:
      oper - an operator.
      Returns:
      a timeout
    • canDragAndDrop

      protected abstract boolean canDragAndDrop(ComponentOperator oper)
      Tells if this driver allows to perform drag'n'drop scrolling.
      Parameters:
      oper - an operator.
      Returns:
      true if this driver allows to drag'n'drop.
    • canJump

      protected abstract boolean canJump(ComponentOperator oper)
      Tells if this driver allows to perform jumps.
      Parameters:
      oper - an operator.
      Returns:
      true if this driver allows to jump.
    • canPushAndWait

      protected abstract boolean canPushAndWait(ComponentOperator oper)
      Tells if this driver allows to perform "push and wait" scrolling.
      Parameters:
      oper - an operator.
      Returns:
      true if this driver allows to "push and wait".
    • getDragAndDropStepLength

      protected abstract int getDragAndDropStepLength(ComponentOperator oper)
      Returns a number of pixels in one drag and drop scrolling.
      Parameters:
      oper - an operator.
      Returns:
      drag'n'drop step length.
    • doDragAndDrop

      protected void doDragAndDrop(ComponentOperator oper, ScrollAdjuster adj)
      Performs drag'n'drop scrolling till scroller's value does not cross required value.
      Parameters:
      oper - an operator.
      adj - a scroll adjuster
    • doJumps

      protected void doJumps(ComponentOperator oper, ScrollAdjuster adj)
      Performs jump scrolling till scroller's value does not cross required value.
      Parameters:
      oper - an operator.
      adj - a scroll adjuster
    • position

      protected abstract int position(ComponentOperator oper, int orientation)
    • doPushAndWait

      protected boolean doPushAndWait(ComponentOperator oper, ScrollAdjuster adj, long freezeTimeout)
      Performs "push and wait" scrolling till scroller's value does not cross required value.
      Parameters:
      oper - an operator.
      adj - a scroll adjuster
    • doSteps

      protected void doSteps(ComponentOperator oper, ScrollAdjuster adj)
      Performs minimal scrollings till scroller's value does not cross required value.
      Parameters:
      oper - an operator.
      adj - a scroll adjuster