From a2aa82eb3184836cd33babd8086a4f1bfe7ee6d3 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 22 Jun 2016 11:55:33 +0200 Subject: [PATCH] Polishing --- .../weaving/AspectJWeavingEnabler.java | 19 +++++++++++++------ .../springframework/core/MethodParameter.java | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/context/weaving/AspectJWeavingEnabler.java b/spring-context/src/main/java/org/springframework/context/weaving/AspectJWeavingEnabler.java index ab78f5c35b3..e93e500baff 100644 --- a/spring-context/src/main/java/org/springframework/context/weaving/AspectJWeavingEnabler.java +++ b/spring-context/src/main/java/org/springframework/context/weaving/AspectJWeavingEnabler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ package org.springframework.context.weaving; - import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.security.ProtectionDomain; @@ -44,12 +43,13 @@ import org.springframework.instrument.classloading.LoadTimeWeaver; public class AspectJWeavingEnabler implements BeanFactoryPostProcessor, BeanClassLoaderAware, LoadTimeWeaverAware, Ordered { + public static final String ASPECTJ_AOP_XML_RESOURCE = "META-INF/aop.xml"; + + private ClassLoader beanClassLoader; private LoadTimeWeaver loadTimeWeaver; - public static final String ASPECTJ_AOP_XML_RESOURCE = "META-INF/aop.xml"; - @Override public void setBeanClassLoader(ClassLoader classLoader) { @@ -71,6 +71,12 @@ public class AspectJWeavingEnabler enableAspectJWeaving(this.loadTimeWeaver, this.beanClassLoader); } + + /** + * Enable AspectJ weaving with the given {@link LoadTimeWeaver}. + * @param weaverToUse the LoadTimeWeaver to apply to (or {@code null} for a default weaver) + * @param beanClassLoader the class loader to create a default weaver for (if necessary) + */ public static void enableAspectJWeaving(LoadTimeWeaver weaverToUse, ClassLoader beanClassLoader) { if (weaverToUse == null) { if (InstrumentationLoadTimeWeaver.isInstrumentationAvailable()) { @@ -80,8 +86,8 @@ public class AspectJWeavingEnabler throw new IllegalStateException("No LoadTimeWeaver available"); } } - weaverToUse.addTransformer(new AspectJClassBypassingClassFileTransformer( - new ClassPreProcessorAgentAdapter())); + weaverToUse.addTransformer( + new AspectJClassBypassingClassFileTransformer(new ClassPreProcessorAgentAdapter())); } @@ -108,4 +114,5 @@ public class AspectJWeavingEnabler return this.delegate.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer); } } + } diff --git a/spring-core/src/main/java/org/springframework/core/MethodParameter.java b/spring-core/src/main/java/org/springframework/core/MethodParameter.java index db46782c5a1..48344a91ad9 100644 --- a/spring-core/src/main/java/org/springframework/core/MethodParameter.java +++ b/spring-core/src/main/java/org/springframework/core/MethodParameter.java @@ -394,8 +394,8 @@ public class MethodParameter { /** * Return the nested type of the method/constructor parameter. * @return the parameter type (never {@code null}) - * @see #getNestingLevel() * @since 3.1 + * @see #getNestingLevel() */ public Class getNestedParameterType() { if (this.nestingLevel > 1) {