Альтернатива переопределения enum

109
08 июля 2021, 02:40

Стоит задача парсить неск. десятков сайтов, большая часть селекторов которых идентична. Различаются в основном по тегам.

У меня есть шаблон реализующий скелет парсера, допустим:

enum CSS { 
     SEARCHPAGE_URL("https://ya.ru"),
     ...;
}
import static MyPackage.CSS.*
    class siteParser {
        void loadMainPage() {
            getDriver().navigate().to(SEARCHPAGE_URL.toString());
            assertEquals(getDriver().getTitle(), MAIN_PAGE_EXPECTED_TITLE);
            ...
            }

мне нужно инода переопределять селекторы т.е. как бы я делал если можно было наследоваться от enum

enum CSS2 extends CSS {
    SEARCHPAGE_URL("https://google.com"),
    ...;
}

В голову приходят два варианта реализации нужного поведения: 1. Определить общий интерфейс для перечисления, и переопределять метод toString() в потомках где будет сидеть большой switch - что мне не нравится поскольку очень много дублирования 2. Одиночка с полями-строками которые будут переопределятся у потомков

Какие ещё есть варианты?

READ ALSO
Как построить обмен между серверной частью на java и клиентами на android?

Как построить обмен между серверной частью на java и клиентами на android?

Сервер принимает запрос (скажем до 100) одновременно и либо отсылает изображение / список изображений клиенту (андроид), либо генерирует его...

77
Не работает Integer.toString();

Не работает Integer.toString();

Подскажите, не могу понять почему

81
Вывести значение Value с объекта в Alert();

Вывести значение Value с объекта в Alert();

Интересует вопрос, как можно реализовать вывод конкретных данных с объекта через JavaScript Vanilla? Есть ли какие-либо способы парсинга данных значений?...

89
Как доработать скрипт?

Как доработать скрипт?

Есть скрипт, который по кнопке открывает форму и скроллит на неёЕсть ещё две другие кнопки и две другие формы

84