Usando um tipo genérico de uma subclasse dentro da superclasse abstrata?

Dentro do meu código, temos a seguinte superclasse abstrata

public abstract class AbstractClass<Type extends A> {...}

e algumas aulas infantis como

public class ChildClassA extends AbstractClass<GenericTypeA> {...}

public class ChildClassB extends AbstractClass<GenericTypeB> {...}

Estou procurando uma maneira elegante de como posso usar o tipo genérico das classes filho (GenericTypeA, GenericTypeB, ...) dentro da classe abstrata de maneira genérica.

Para resolver esse problema, eu defini o método atualmente

protected abstract Class<Type> getGenericTypeClass();

na minha classe abstrata e implementou o método

@Override
protected Class<GenericType> getGenericTypeClass() {
    return GenericType.class;
}

em todas as classes infantis.

É possível obter o tipo genérico das classes filho na minha classe abstrata sem implementar esse método auxiliar?

BR,

Markus

questionAnswers(2)

yourAnswerToTheQuestion