| Modifier and Type | Class and Description |
|---|---|
| private static class | |
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| private AnnotationFinder | |
| private WeakClassLoaderReference | |
| private Map | |
| private boolean | |
| private static Map |
| Access | Constructor and Description |
|---|---|
| private | |
| public | |
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public static void | |
| public AnnotationFinder | |
| public ClassLoader | |
| public static ReflectionWorld | |
| public IWeavingSupport | |
| public boolean | |
| public static AnnotationFinder | |
| public ResolvedType | |
| public static ResolvedType | |
| protected ReferenceTypeDelegate | resolveDelegate(ReferenceType ty)
Implements abstract org. |
| public ResolvedType | resolveUsingClass(Class<?>
the class to use as the delegate for the resolved type clazz)Resolve a type using the specified class. |
| annotationFinder | back to summary |
|---|---|
| private AnnotationFinder annotationFinder | |
| classLoaderReference | back to summary |
|---|---|
| private WeakClassLoaderReference classLoaderReference | |
| inProgressResolutionClasses | back to summary |
|---|---|
| private Map<String, Class<?>> inProgressResolutionClasses | |
| mustUseOneFourDelegates | back to summary |
|---|---|
| private boolean mustUseOneFourDelegates | |
| rworlds | back to summary |
|---|---|
| private static Map<WeakClassLoaderReference, ReflectionWorld> rworlds | |
| ReflectionWorld | back to summary |
|---|---|
| private ReflectionWorld() | |
| ReflectionWorld | back to summary |
|---|---|
| public ReflectionWorld(WeakClassLoaderReference classloaderRef) | |
| ReflectionWorld | back to summary |
|---|---|
| public ReflectionWorld(ClassLoader aClassLoader) | |
| ReflectionWorld | back to summary |
|---|---|
| public ReflectionWorld(boolean forceUseOf14Delegates, ClassLoader aClassLoader) | |
| cleanUpWorlds | back to summary |
|---|---|
| public static void cleanUpWorlds() | |
| getAnnotationFinder | back to summary |
|---|---|
| public AnnotationFinder getAnnotationFinder() Implements org. | |
| getClassLoader | back to summary |
|---|---|
| public ClassLoader getClassLoader() | |
| getReflectionWorldFor | back to summary |
|---|---|
| public static ReflectionWorld getReflectionWorldFor(WeakClassLoaderReference classLoaderReference) | |
| getWeavingSupport | back to summary |
|---|---|
| public IWeavingSupport getWeavingSupport() Implements abstract org. | |
| isLoadtimeWeaving | back to summary |
|---|---|
| public boolean isLoadtimeWeaving() Implements abstract org. | |
| makeAnnotationFinderIfAny | back to summary |
|---|---|
| public static AnnotationFinder makeAnnotationFinderIfAny(ClassLoader loader, World world) | |
| resolve | back to summary |
|---|---|
| public ResolvedType resolve(Class<T> aClass) Implements org. | |
| resolve | back to summary |
|---|---|
| public static ResolvedType resolve(World world, Class<?> aClass) | |
| resolveDelegate | back to summary |
|---|---|
| protected ReferenceTypeDelegate resolveDelegate(ReferenceType ty) Implements abstract org. Doc from org. Find the ReferenceTypeDelegate behind this reference type so that it can fulfill its contract. | |
| resolveUsingClass | back to summary |
|---|---|
| public ResolvedType resolveUsingClass(Class<?> clazz) Resolve a type using the specified class. Normal resolution in a reflection world uses Class.forName() via the classloader (attached to this world) in order to find a named type then builds a reference type and a reference type delegate based on that. For some classes generated at runtime (e.g. proxy or lambda representation) the forName() call will not work. In those situations we should just use the clazz we have. Should the whole thing switch from using forName() to using the clazz objects? Possibly but that introduces a lot of change and we don't have a lot of test coverage for this scenario (reflection world). What we are doing right now is that this can optionally be used if the regular resolution scheme did not work. Although AspectJ is *not* multi threaded or re-entrant, Spring doesn't always respect that. There might be an issue here if two attempts are made to resolve the same thing at the same time via this method.
| |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public void | dontIgnore(IMessage.
Implements org. |
| public boolean | handleMessage(IMessage
the IMessage to handle - never null message)Implements org. |
| public void | ignore(IMessage.
Implements org. |
| public boolean | isIgnoring(IMessage.
Implements org. |
| ExceptionBasedMessageHandler | back to summary |
|---|---|
| private ExceptionBasedMessageHandler() | |
| dontIgnore | back to summary |
|---|---|
| public void dontIgnore(IMessage. Implements org. Doc from org. Allow fine grained configuration after initialization. Minaly used in LTW. Most of the implementation can have this method be a no-op. | |
| handleMessage | back to summary |
|---|---|
| public boolean handleMessage(IMessage message) throws AbortException Implements org. Doc from org. Handle message, by reporting and/or throwing an AbortException.
| |
| ignore | back to summary |
|---|---|
| public void ignore(IMessage. Implements org. Doc from org. Allow fine grained configuration after initialization. | |
| isIgnoring | back to summary |
|---|---|
| public boolean isIgnoring(IMessage. Implements org. Doc from org. Signal clients whether this will ignore messages of a given type. Clients may use this to avoid constructing or sending certain messages.
| |
| Modifier and Type | Field and Description |
|---|---|
| private static final long |
| Access | Constructor and Description |
|---|---|
| public |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID | |
| ReflectionWorldException | back to summary |
|---|---|
| public ReflectionWorldException(String message) | |