Zdravím konferenci,
narazil sem na zajímavý problém - nemůžu vygooglit řešení... navíc po přečtení
tohoto: http://www.ibm.com/developerworks/java/library/j-jtp01255.html si
nejsem jistý jestli řešení existuje, takže:
mám abstraktní třídu A<T>. V této třídě načítám pluginy (přes Class.forName) -
rozhraní pro pluginy mám definované jako:
interface Plugin<T> {
boolean execute(T param);
}
V třídě A bych před zavoláním execute potřeboval ověřit, že:
plugin instanceof Plugin<T>
tedy že plugin typově sedí k dané implementaci. Například:
"class Plugin1 implements Plugin<Number>" půjde zavolat z "class B extends
A<Integer>" ale ne z "class C extends A<String>"
dále poznamenám že v abstraktní třídě A mám k dispozici proměnnou typu
Class<T>
--
Martin Beránek