Проверить имплементирует ли класс определенный интерфейс
От: the_moon  
Дата: 16.04.10 22:30
Оценка:
Привет,

пишу программку, она читает конфиг в котором прописанно имя класса, объект которого будет потом создаваться. Классы, которые будут прописываться в конфиге имплементируют определенный интерфейс и в мне хотелось бы в программке предварительно проверить, имплементирует ли класс, прочитанный из конфига этот Интерфейс или нет.


Попробовал так, где 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

Как правильно эту проверку сделать, в интернете что то ничего не нашлось подходящего?

Спасибо
KOPOTbILLIKA KPbIC
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.