@Override public WebDriver getWebDriver(Class<?>... interfaces) { GrapheneContext context = getContext(false); if (context == null) { return GrapheneProxy.getProxyForHandler(handler, WebDriver.class, interfaces); } else if (GrapheneProxyUtil.isProxy(context.getWebDriver())) { Class<?> superclass = context.getWebDriver().getClass().getSuperclass(); if (superclass != null && !GrapheneProxyUtil.isProxy(superclass) && WebDriver.class.isAssignableFrom(superclass)) { return GrapheneProxy.getProxyForHandler(handler, context.getWebDriver().getClass().getSuperclass(), interfaces); } else { return GrapheneProxy.getProxyForHandler(handler, WebDriver.class, interfaces); } } else { return GrapheneProxy.getProxyForHandler(handler, context.getWebDriver().getClass(), interfaces); } }
@Override public WebDriver getWebDriver(Class<?>... interfaces) { GrapheneContext context = getContext(false); if (context == null) { return GrapheneProxy.getProxyForHandler(handler, WebDriver.class, interfaces); } else if (GrapheneProxyUtil.isProxy(context.getWebDriver())) { Class<?> superclass = context.getWebDriver().getClass().getSuperclass(); if (superclass != null && !GrapheneProxyUtil.isProxy(superclass) && WebDriver.class.isAssignableFrom(superclass)) { return GrapheneProxy.getProxyForHandler(handler, context.getWebDriver().getClass().getSuperclass(), interfaces); } else { return GrapheneProxy.getProxyForHandler(handler, WebDriver.class, interfaces); } } else { return GrapheneProxy.getProxyForHandler(handler, context.getWebDriver().getClass(), interfaces); } }
@Override public Class<?> getQualifier() { if (Default.class.equals(qualifier)) { GrapheneContext context = getContext(false); if (context == null) { return qualifier; } if (context instanceof LazyContext) { return ((LazyContext) context).qualifier; } else { return context.getQualifier(); } } else { return qualifier; } }
@Override public Class<?> getQualifier() { if (Default.class.equals(qualifier)) { GrapheneContext context = getContext(false); if (context == null) { return qualifier; } if (context instanceof LazyContext) { return ((LazyContext) context).qualifier; } else { return context.getQualifier(); } } else { return qualifier; } }
@Override public GrapheneConfiguration getConfiguration() { return getContext(true).getConfiguration(); }
@Override public GrapheneConfiguration getConfiguration() { return getContext(true).getConfiguration(); }
@Override public Object getTarget() { return getContext(true).getWebDriver(); } };
@Override public Object getTarget() { return getContext(true).getWebDriver(); } };