Here\'s a Java generic pattern:
public T getResultData(Class resultClass, other_args) {
...
return resultClass.cast(T-thing);
}
Well,. here's an ugly (partial) solution. You can't generically paramaterize a generic param, so you can't write
public > T getResultData ...
but you can return a parameterized collection, e.g. for a set
public < T extends Set< U >, U > T getResultData( Class< T > resultClass, Class< U > paramClass ) throws IllegalAccessException, InstantiationException {
return resultClass.newInstance();
}
where you could get rid of the U-param if it existed in the class signature.