Здравствуйте, the_moon, Вы писали:
_>Привет,
_>пишу программку, она читает конфиг в котором прописанно имя класса, объект которого будет потом создаваться. Классы, которые будут прописываться в конфиге имплементируют определенный интерфейс и в мне хотелось бы в программке предварительно проверить, имплементирует ли класс, прочитанный из конфига этот Интерфейс или нет.
_>Попробовал так, где RVImporter это как раз и есть интерфейс
_>_> String iclass = imps.item(0).getAttributes().getNamedItem("class").getNodeValue();
_> Class theClass = Class.forName(iclass);
_> Object o = theClass.newInstance();
_> if( o instanceof RVImporter )
_> {
_> throw new Exception("Specified importer class is not an importer! " + iclass );
_> }
_> this.importer = (RVImporter)o;
_>
_>Но проверка "o instanceof iImporter" не проходит, не инстанца говорит.
_>java.lang.Exception: Specified importer class ist not an importer! relavis.importer.ora.oraImporter
_>Как правильно эту проверку сделать, в интернете что то ничего не нашлось подходящего?
_>Спасибо
Если НЕ имплементирует то вываливай эксепшен, а то что у тебя — наоборот
if( ! (o instanceof RVImporter) )