@startuml package "" as settings <<Rectangle>> { package "(reformulation-core)\nanswering.reformulation\n.rewriting" #FFFFEE { interface QueryRewriter <<DIE>> { rewrite(IQ): IQ setTBox(ClassifiedTBox) } interface ExistentialQueryRewriter QueryRewriter <|-- ExistentialQueryRewriter } package "(reformulation-core)\nanswering.reformulation\n.rewriting.impl" #FFFFEE { class DummyRewriter { ctor(IntermediateQueryFactory,\n AtomFactory,\n TermFactory,\n CoreUtilsFactory) } QueryRewriter <|.. DummyRewriter class TreeWitnessRewriter { ctor(AtomFactory,\n TermFactory,\n IntermediateQueryFactory,\n CoreUtilsFactory,\n SubstitutionFactory) } DummyRewriter <|-- TreeWitnessRewriter ExistentialQueryRewriter <|.. TreeWitnessRewriter } } @enduml