javaRuntype: runtime type system for Java
javaRuntype 1.0 has just been released.
javaRuntype is a compact library aimed at offering a runtime representation of the Java type system.
This is specially useful in metadata-based systems.
This becomes useful because, on the one hand, Java's java.util.Class objects cannot contain generics information (a "List" object at compile time becomes just "List" at runtime) , and on the other, the java.lang.reflect.Type interface and its related hierarchies, which the JVM uses for defining attributes and method signatures, are second-level citizens in the API, and lack an easy-to-use framework to truly enable the use of types as metadata in Java applications.
See more at: http://www.javaruntype.org