# Package javax.lang.model.type

package javax.lang.model.type
Interfaces used to model Java programming language types.

Unless otherwise specified in a particular implementation, the collections returned by methods in this package should be expected to be unmodifiable by the caller and unsafe for concurrent access.

Unless otherwise specified, methods in this package will throw a `NullPointerException` if given a `null` argument.

See Java Language Specification:
  4.1 The Kinds of Types and Values
  4.2 Primitive Types and Values
  4.3 Reference Types and Values
  4.4 Type Variables
  4.5 Parameterized Types
  4.8 Raw Types
  4.9 Intersection Types
  10.1 Array Types
Since:
  1.6
See Also:
  - `Types`
  - Elements and Types
  - JSR 269: Pluggable Annotation Processing API

- Related Packages
  Package
  Description
  javax.lang.model
  Types and hierarchies of packages comprising a Java language model, a reflective API that models the declarations and types of the Java programming language.
  javax.lang.model.element
  Interfaces used to model elements of the Java programming language.
  javax.lang.model.util
  Utilities to assist in the processing of program elements and types.
- Class
  Description
  ArrayType
  Represents an array type.
  DeclaredType
  Represents a declared type, either a class type or an interface type.
  ErrorType
  Represents a class or interface type that cannot be properly modeled.
  ExecutableType
  Represents the type of an executable.
  IntersectionType
  Represents an intersection type.
  MirroredTypeException
  Thrown when an application attempts to access the `Class` object corresponding to a `TypeMirror`.
  MirroredTypesException
  Thrown when an application attempts to access a sequence of `Class` objects each corresponding to a `TypeMirror`.
  NoType
  A pseudo-type used where no actual type is appropriate.
  NullType
  Represents the null type.
  PrimitiveType
  Represents a primitive type.
  ReferenceType
  Represents a reference type.
  TypeKind
  The kind of a type mirror.
  TypeMirror
  Represents a type in the Java programming language.
  TypeVariable
  Represents a type variable.
  TypeVisitor<R,P>
  A visitor of types, in the style of the visitor design pattern.
  UnionType
  Represents a union type.
  UnknownTypeException
  Indicates that an unknown kind of type was encountered.
  WildcardType
  Represents a wildcard type argument.