Package org.scijava.types

This package offers type reasoning beyond only what is offered by SciJava Common's Types class. This package offers the following additional features:
  • Reason about whether a collection of arguments (object instances, generic types, or a mixture thereof) satisfy a given list of generic types, such as those of a particular method signature.
  • Create Nil objects, which act as "typed null" placeholders, and support generation of proxy instances of their associated generic type, similar to (but less featureful than) how mocking frameworks create mock objects.
  • Recover erased generic type information from object instances at runtime, in an extensible way, via TypeExtractor plugins and the TypeReifier.reify(java.lang.Object) method. E.g., you can learn that an object of class HashMap is actually (or at least functionally) a HashMap<String, Integer>.