private <T> T injectPagesInto(final Class<T> stepLibraryClass, T newStepLibrary) { if (ScenarioSteps.class.isAssignableFrom(stepLibraryClass)) { ((ScenarioSteps) newStepLibrary).setPages(pages); } else if (hasAPagesField(stepLibraryClass)) { ImmutableSet<Field> fields = copyOf(stepLibraryClass.getDeclaredFields()); Field pagesField = Iterables.find(fields, ofTypePages()); pagesField.setAccessible(true); try { pagesField.set(newStepLibrary, pages); } catch (IllegalAccessException e) { LOGGER.error("Could not instantiate pages field for step library {}", newStepLibrary); } } return newStepLibrary; }
private <T> T injectPagesInto(final Class<T> stepLibraryClass, T newStepLibrary) { if (ScenarioSteps.class.isAssignableFrom(stepLibraryClass)) { ((ScenarioSteps) newStepLibrary).setPages(pages); } else if (hasAPagesField(stepLibraryClass)) { ImmutableSet<Field> fields = copyOf(stepLibraryClass.getDeclaredFields()); Field pagesField = Iterables.find(fields, ofTypePages()); pagesField.setAccessible(true); try { pagesField.set(newStepLibrary, pages); } catch (IllegalAccessException e) { LOGGER.error("Could not instantiate pages field for step library {}", newStepLibrary); } } return newStepLibrary; }
private <T> boolean isWebdriverStepClass(final Class<T> stepLibraryClass) { return (isAScenarioStepClass(stepLibraryClass) || hasAPagesConstructor(stepLibraryClass) || hasAPagesField(stepLibraryClass)); }
private <T> boolean isWebdriverStepClass(final Class<T> stepLibraryClass) { return (isAScenarioStepClass(stepLibraryClass) || hasAPagesConstructor(stepLibraryClass) || hasAPagesField(stepLibraryClass)); }