У меня вопрос дизайна. У меня есть интерфейс, который читает XML. Каждый класс-разработчик читает разные XML-файлы, и я хочу, чтобы определить, какой разработчик должен я динамически создавать для xml-типа, который я получаю. Проблема в том, что интерфейс java не может содержать статические элементы. Каков наилучший способ сделать это?Что является альтернативой статическому в интерфейсе Java
Пример:
public interface MyXML{
public void readXML(String xml);
public final static String getType();
}
Использование:
func(String xml, String type)
{
MyXML obj;
switch(type)
{
case MyImpl.getType():
obj = new MyImpl();
break;
case MyImpl2.getType():
obj = new MyImpl2();
break;
}
obj.readXML(xml);
}
EDIT: Попробую лучше объяснить, что я хочу: мне нужно знать, какие XML можно прочитать с помощью которого и я ищу способ заставить любого, кто реализует MyXML, указать, какой xml он может читать, поэтому мне не нужно поддерживать перевод за пределами другого списка или фабрики.
«MyImpl.getType()» должен быть постоянным и динамически не оцениваться во время выполнения. – SMA
Что значит: интерфейс Java не может содержать статические элементы? Все переменные в интерфейсе являются статическими. – Stultuske
Stultuske: public final static String getType(); не подходит для компиляции. – user3369398