private <T> boolean hasAPagesField(final Class<T> stepLibraryClass) { ImmutableSet<Field> fields = copyOf(stepLibraryClass.getDeclaredFields()); return Iterables.any(fields, ofTypePages()); }
private <T> boolean hasAPagesField(final Class<T> stepLibraryClass) { ImmutableSet<Field> fields = copyOf(stepLibraryClass.getDeclaredFields()); return Iterables.any(fields, ofTypePages()); }
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; }