@ParametersAreNonnullByDefault

# Package com.google.common.reflect

This package contains utilities to work with Java reflection.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  TypeToInstanceMap<B> | A map, each entry of which maps a `TypeToken` to an instance of that type.

- Class Summary
  Class | Description
  --- | ---
  AbstractInvocationHandler | Abstract implementation of `InvocationHandler` that handles `Object.equals(java.lang.Object)`, `Object.hashCode()` and `Object.toString()`.
  ClassPath | Scans the source of a `ClassLoader` and finds all loadable classes and resources.
  ClassPath.ClassInfo | Represents a class that can be loaded through `ClassPath.ClassInfo.load()`.
  ClassPath.ResourceInfo | Represents a class path resource that can be either a class file or any other resource file loadable from the class path.
  ImmutableTypeToInstanceMap<B> | A type-to-instance map backed by an `ImmutableMap`.
  ImmutableTypeToInstanceMap.Builder<B> | A builder for creating immutable type-to-instance maps.
  Invokable<T,R> | Wrapper around either a `Method` or a `Constructor`.
  MutableTypeToInstanceMap<B> | A mutable type-to-instance map.
  Parameter | Represents a method or constructor parameter.
  Reflection | Static utilities relating to Java reflection.
  TypeParameter<T> | Captures a free type variable that can be used in `TypeToken.where(com.google.common.reflect.TypeParameter<X>, com.google.common.reflect.TypeToken<X>)`.
  TypeResolver | An object of this class encapsulates type mappings from type variables.
  TypeToken<T> | A `Type` with generics.

## Package com.google.common.reflect Description

This package contains utilities to work with Java reflection. It is a part of the open-source Guava libraries.