Jena provides a generic Reasoner interface when returning the reasoner of a model. How can I determine if it is a Rule based, so I can cast it to a GenericRuleReasoner and use the methods for manipulating rules?
Note: without using instanceof :)
Example
// in one part of the app it something like this
OntModelSpec spec = OntModelSpec.OWL_MEM_MICRO_RULE_INF;
OntModel ontologyModel = ModelFactory.createOntologyModel(spec, model);
// in another part
Reasoner reasoner = ontologyModel.getReasoner();
So now the reasoner is a com.hp.hpl.jena.reasoner.rulesys.OWLMicroReasoner determined by .getClass() but I want to cast it to a GenericRuleReasoner by determining if it IS a rule capable one.