Re: Create instance of generic class at runtime, supplying specializer?
Alessio Stalla <[email protected]> Tue, 21 Jul 2020 09:04:55 +0200
| Newsgroups | gmane.editors.j.devel |
|---|---|
| Message-ID | <CAL2Kp+hvbBYCyQ8-938AriSorRoSM9mdc9dONf6vs7hTXinZjw@mail.gmail.com> |
Oh, the class is abstract, so you're meant to provide A by subclassing it, not by instantiating. In that case, the value of A *is* retained at runtime and is available for reflection, even if method signatures are still erased to Object. In ABCL there used to be some runtime-class machinery that was just a sketch... I don't know if it's still there and has enough plumbing to allow you to subclass a generic class providing type specifiers. On Mon, 20 Jul 2020 at 18:49, Mark Evenson <[email protected]> wrote: > > > > On Jul 16, 2020, at 04:30, Alan Ruttenberg <[email protected]> > wrote: > > > > For instance in > > > > > http://owlcs.github.io/owlapi/apidocs_4/org/semanticweb/owlapi/util/InferredObjectPropertyAxiomGenerator.html > > > > It says: > > Type Parameters: > > A - the axiom type > > Question is: how do I supply the axiom type when creating an instance. > > Can you point me to some code that does the setup? Somewhere in lsw2? > > Alessio is correct that the compiler erases types, but I have sucessfully > created instances that switch such methods over the years working on > reasoners, > so I should be able to get this to work for you. Unfortunately the margin > is > too small to contain a proof of this statement without further annotation… > > -- > "A screaming comes across the sky. It has happened before but there is > nothing > to compare to it now." > > > > > > >