Class AbstractSingleItemHandler<T>

java.lang.Object
net.thucydides.core.annotations.locators.AbstractSingleItemHandler<T>
Type Parameters:
T - the target interface
All Implemented Interfaces:
java.lang.reflect.InvocationHandler
Direct Known Subclasses:
SmartElementHandler, SmartWidgetHandler

public abstract class AbstractSingleItemHandler<T>
extends java.lang.Object
implements java.lang.reflect.InvocationHandler
Base class for handlers of non-List members.
Author:
Joe Nasca
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected java.lang.Class<?> implementerClass  
    protected org.openqa.selenium.support.pagefactory.ElementLocator locator  
    protected PageObject page  
  • Constructor Summary

    Constructors
    Constructor Description
    AbstractSingleItemHandler​(java.lang.Class<T> targetInterface, java.lang.Class<?> interfaceType, org.openqa.selenium.support.pagefactory.ElementLocator locator, PageObject page)  
  • Method Summary

    Modifier and Type Method Description
    java.lang.Object invoke​(java.lang.Object object, java.lang.reflect.Method method, java.lang.Object[] objects)  
    protected abstract java.lang.Object newElementInstance()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • locator

      protected final org.openqa.selenium.support.pagefactory.ElementLocator locator
    • page

      protected final PageObject page
    • implementerClass

      protected final java.lang.Class<?> implementerClass
  • Constructor Details

    • AbstractSingleItemHandler

      public AbstractSingleItemHandler​(java.lang.Class<T> targetInterface, java.lang.Class<?> interfaceType, org.openqa.selenium.support.pagefactory.ElementLocator locator, PageObject page)
  • Method Details

    • invoke

      public java.lang.Object invoke​(java.lang.Object object, java.lang.reflect.Method method, java.lang.Object[] objects) throws java.lang.Throwable
      Specified by:
      invoke in interface java.lang.reflect.InvocationHandler
      Throws:
      java.lang.Throwable
    • newElementInstance

      protected abstract java.lang.Object newElementInstance() throws java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, java.lang.InstantiationException, java.lang.IllegalAccessException
      Throws:
      java.lang.reflect.InvocationTargetException
      java.lang.NoSuchMethodException
      java.lang.InstantiationException
      java.lang.IllegalAccessException