package com.fasterxml.jackson.core.type;
/*
* (C) Copyright IBM Corp, 2012
*
* Clean room implementation of Jackson code
*/
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
public class TypeReference<T> {
private final Type genericType;
/*
* Needs to have zero-arg constructor
*/
public TypeReference() {
Type superClassType = getClass().getGenericSuperclass();
this.genericType = ((ParameterizedType) superClassType).getActualTypeArguments()[0];
}
/*
* This method needs to return a value such that:
*
* new TypeReference<T>(){}.getType() == T.class
*
* See JUnit
*/
public Type getType() {
return genericType;
}
}