org.aspectj.lang.reflect

## Class AjTypeSystem

- java.lang.Object
- - org.aspectj.lang.reflect.AjTypeSystem

    public class AjTypeSystem
    extends Object

This is the anchor for the AspectJ runtime type system. Typical usage to get the AjType representation of a given type at runtime is to call `AjType<Foo> fooType = AjTypeSystem.getAjType(Foo.class);`

### Constructor Summary

Constructors
Constructor and Description
`AjTypeSystem()`

### Method Summary

All Methods Static Methods Concrete Methods
`static <T> AjType<T>` `getAjType(Class<T> fromClass)` Return the AspectJ runtime type representation of the given Java type.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AjTypeSystem

    public AjTypeSystem()

### Method Detail

#### getAjType

    public static <T> AjType<T> getAjType(Class<T> fromClass)

Return the AspectJ runtime type representation of the given Java type. Unlike java.lang.Class, AjType understands pointcuts, advice, declare statements, and other AspectJ type members. AjType is the recommended reflection API for AspectJ programs as it offers everything that java.lang.reflect does, with AspectJ-awareness on top.

Type Parameters:
  `T` - the expected type associated with the returned AjType
Parameters:
  `fromClass` - the class for which to discover the AjType
Returns:
  the AjType corresponding to the input class