Package 

Class KBaseView

  • All Implemented Interfaces:
    io.github.kakaocup.kakao.common.actions.BaseActions , io.github.kakaocup.kakao.common.assertions.BaseAssertions , io.github.kakaocup.kakao.intercept.Interceptable

    
    public class KBaseView<T extends Object>
     implements BaseActions, BaseAssertions, Interceptable<ViewInteraction, ViewAssertion, ViewAction>
                        

    Base class for all Kakao views

    This base class allows create new custom view with ease. All you have to do is to extend this class, implement all necessarily additional actions/assertions interfaces and override necessary constructors

    • Constructor Summary

      Constructors 
      Constructor Description
      KBaseView(Function1<ViewBuilder, Unit> function) Constructs view class with view interaction from given ViewBuilder
      KBaseView(Matcher<View> parent, Function1<ViewBuilder, Unit> function) Constructs view class with parent and view interaction from given ViewBuilder
      KBaseView(DataInteraction parent, Function1<ViewBuilder, Unit> function) Constructs view class with parent and view interaction from given ViewBuilder
    • Method Summary

      Modifier and Type Method Description
      ViewInteractionDelegate getView()
      Matcher<Root> getRoot()
      Unit setRoot(Matcher<Root> root)
      final Unit invoke(Function1<T, Unit> function) Operator that allows usage of DSL style
      final T perform(Function1<T, Unit> function) Infix function for invoking lambda on your viewSometimes instance of view is a result of a function or constructor.
      • Methods inherited from class io.github.kakaocup.kakao.common.views.KBaseView

        act, assert, click, doesNotExist, doubleClick, hasAnyTag, hasBackgroundColor, hasBackgroundColor, hasDescendant, hasNotDescendant, hasNotSibling, hasSibling, hasTag, inRoot, intercept, isClickable, isCompletelyAbove, isCompletelyBelow, isCompletelyDisplayed, isCompletelyLeftOf, isCompletelyRightOf, isDisabled, isDisplayed, isEnabled, isFocusable, isFocused, isGone, isInvisible, isNotClickable, isNotCompletelyDisplayed, isNotDisplayed, isNotFocusable, isNotFocused, isNotSelected, isSelected, isVisible, longClick, matches, notMatches, onFailure, pressImeAction, repeatUntil, reset, scrollTo
      • Methods inherited from class java.lang.Object

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

      • KBaseView

        KBaseView(Function1<ViewBuilder, Unit> function)
        Constructs view class with view interaction from given ViewBuilder
        Parameters:
        function - ViewBuilder which will result in view's interaction
      • KBaseView

        KBaseView(Matcher<View> parent, Function1<ViewBuilder, Unit> function)
        Constructs view class with parent and view interaction from given ViewBuilder
        Parameters:
        parent - Matcher that will be used as parent in isDescendantOfA() matcher
        function - ViewBuilder which will result in view's interaction
      • KBaseView

        KBaseView(DataInteraction parent, Function1<ViewBuilder, Unit> function)
        Constructs view class with parent and view interaction from given ViewBuilder
        Parameters:
        parent - DataInteraction that will be used as parent to ViewBuilder
        function - ViewBuilder which will result in view's interaction
    • Method Detail

      • invoke

         final Unit invoke(Function1<T, Unit> function)

        Operator that allows usage of DSL style

        Parameters:
        function - Tail lambda with receiver which is your view
      • perform

         final T perform(Function1<T, Unit> function)

        Infix function for invoking lambda on your view

        Sometimes instance of view is a result of a function or constructor. In this specific case you can't call invoke() since it will be considered as tail lambda of your fun/constructor. In such cases please use this function.

        Parameters:
        function - Tail lambda with receiver which is your view