I have an abstract class:
abstract class DmValue<T>
And many classes extends it, for example:
class DmBoolean extends DmValue<Boolean>
class DmText extends DmValue<String>
class DmDate extends DmValue<Date>
My question is how to find T class?
I need to write a static function:
static Class getT(Class<? extends DmValue> valueClass){...}
In case of valueClass = DmText.class, getT function should return String.class
In case of valueClass = DmBoolean.class, getT function should return Boolean.class
Any suggestions?