package com.algocrafts.selectors;
import org.openqa.selenium.By;
import java.util.function.Supplier;
import java.util.stream.Stream;
import static org.openqa.selenium.By.linkText;
/**
* This enum is a Supplier of ByLinkText from Selenium By API.
*/
public enum LinkText implements Supplier<By> {
DISCOVER_MORE_EVENT("Discover More Events"),
CANADA("CANADA"),
ALL_CANADA("All Canada"),
CHANGE_LOCATION("change location"),
ACTIVE_MQ_IN_ACTION("ActiveMQ in Action"),
EXTJS_DATEPICKER_TRIGGER("choose a date"),
JAVA("Java"),
ONTARIO("Ontario");
private final By by;
private final String text;
LinkText(String text) {
this.by = linkText(text);
this.text = text;
}
/**
* @return the by instance variable which is a ByLinkText.
*/
@Override
public By get() {
return by;
}
@Override
public String toString() {
return by.toString();
}
public static LinkText resolve(String text) {
return Stream.of(values()).filter( (LinkText t) -> t.text.equals(text)).findFirst().get();
}
}