All Downloads are FREE. Search and download functionalities are using the official Maven repository.

info.novatec.testit.webtester.events.pagefragments.AbstractPageFragmentEventBuilder Maven / Gradle / Ivy

package info.novatec.testit.webtester.events.pagefragments;

import org.openqa.selenium.WebElement;

import info.novatec.testit.webtester.events.PageFragmentEventBuilder;
import info.novatec.testit.webtester.events.Produces;
import info.novatec.testit.webtester.pagefragments.PageFragment;


/**
 * Base implementation of all {@link PageFragment page fragment} {@link AbstractPageFragmentEvent event} builders.
 * 

* These builders are used in conjunction with the {@link Produces @Produces} annotation to build events when annotated * methods are executed. * * @param the event type this builder is producing * @since 2.0 */ public abstract class AbstractPageFragmentEventBuilder implements PageFragmentEventBuilder { private PageFragment fragment; @Override public PageFragmentEventBuilder setPageFragment(PageFragment fragment) { this.fragment = fragment; return this; } @Override public boolean needsBeforeData() { return false; } @Override public PageFragmentEventBuilder setBeforeData(WebElement webElement) { return this; } @Override public boolean needsAfterData() { return false; } @Override public PageFragmentEventBuilder setAfterData(WebElement webElement) { return this; } @Override public final T build() { if (fragment == null) { throw new IllegalStateException("no page fragment set for this builder: " + this); } return buildWith(fragment); } protected abstract T buildWith(PageFragment fragment); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy