From f8f117808bef16efd520803636c6841332e83c49 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 14 Sep 2020 08:25:20 -0600 Subject: Fix misplaced or incorrectly nested HTML tags --- .../org/aspectj/weaver/bcel/AtAjAttributes.java | 4 +-- .../weaver/bcel/BcelAccessForInlineMunger.java | 6 ++-- .../aspectj/weaver/loadtime/IWeavingContext.java | 2 +- .../weaver/loadtime/definition/Definition.java | 2 +- .../tools/cache/AsynchronousFileCacheBacking.java | 2 +- .../aspectj/weaver/tools/cache/CacheBacking.java | 3 +- .../weaver/tools/cache/CacheKeyResolver.java | 3 +- .../weaver/tools/cache/CachedClassReference.java | 3 +- .../tools/cache/DefaultCacheKeyResolver.java | 15 ++++++---- .../tools/cache/DefaultFileCacheBacking.java | 9 ++++-- .../weaver/tools/cache/WeavedClassCache.java | 33 +++++++++++++--------- 11 files changed, 49 insertions(+), 33 deletions(-) (limited to 'weaver') diff --git a/weaver/src/main/java/org/aspectj/weaver/bcel/AtAjAttributes.java b/weaver/src/main/java/org/aspectj/weaver/bcel/AtAjAttributes.java index 5f2032704..7ad6b6f13 100644 --- a/weaver/src/main/java/org/aspectj/weaver/bcel/AtAjAttributes.java +++ b/weaver/src/main/java/org/aspectj/weaver/bcel/AtAjAttributes.java @@ -86,7 +86,7 @@ import org.aspectj.weaver.patterns.TypePattern; /** * Annotation defined aspect reader. Reads the Java 5 annotations and turns them into AjAttributes * - * @author Alexandre Vasseur + * @author Alexandre Vasseur (alex AT gnilux DOT com) */ public class AtAjAttributes { @@ -1851,7 +1851,7 @@ public class AtAjAttributes { * LazyResolvedPointcutDefinition lazyly resolve the pointcut so that we have time to register all pointcut referenced before * pointcut resolution happens * - * @author Alexandre Vasseur + * @author Alexandre Vasseur (alex AT gnilux DOT com) */ public static class LazyResolvedPointcutDefinition extends ResolvedPointcutDefinition { private final Pointcut m_pointcutUnresolved; // null for abstract diff --git a/weaver/src/main/java/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java b/weaver/src/main/java/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java index 497df1a3a..a32ea69b7 100644 --- a/weaver/src/main/java/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java +++ b/weaver/src/main/java/org/aspectj/weaver/bcel/BcelAccessForInlineMunger.java @@ -42,11 +42,13 @@ import org.aspectj.weaver.UnresolvedType; /** * Looks for all access to method or field that are not public within the body of the around advices and replace the invocations to * a wrapper call so that the around advice can further be inlined. - *

+ *

* This munger is used for @AJ aspects for which inlining wrapper is not done at compile time. - *

+ *

+ *

* Specific state and logic is kept in the munger ala ITD so that call/get/set pointcuts can still be matched on the wrapped member * thanks to the EffectiveSignature attribute. + *

* * @author Alexandre Vasseur * @author Andy Clement diff --git a/weaver/src/main/java/org/aspectj/weaver/loadtime/IWeavingContext.java b/weaver/src/main/java/org/aspectj/weaver/loadtime/IWeavingContext.java index 2a6523bb5..0ffd9dbe9 100644 --- a/weaver/src/main/java/org/aspectj/weaver/loadtime/IWeavingContext.java +++ b/weaver/src/main/java/org/aspectj/weaver/loadtime/IWeavingContext.java @@ -40,7 +40,7 @@ public interface IWeavingContext { /** * In an OSGi environment, determin which bundle a URL originated from. - * In a non-OSGi environment, implementors should return null. + * In a non-OSGi environment, implementors should return null. * @param url * @return * @deprecated use getFile() or getClassLoaderName() diff --git a/weaver/src/main/java/org/aspectj/weaver/loadtime/definition/Definition.java b/weaver/src/main/java/org/aspectj/weaver/loadtime/definition/Definition.java index 81330ed36..e706b240e 100644 --- a/weaver/src/main/java/org/aspectj/weaver/loadtime/definition/Definition.java +++ b/weaver/src/main/java/org/aspectj/weaver/loadtime/definition/Definition.java @@ -19,7 +19,7 @@ import java.util.Map; /** * A POJO that contains raw strings from the XML (sort of XMLBean for our simple LTW DTD) * - * @author Alexandre Vasseur + * @author Alexandre Vasseur (alex AT gnilux DOT com) */ public class Definition { diff --git a/weaver/src/main/java/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.java b/weaver/src/main/java/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.java index 8203584f0..bb1b88807 100644 --- a/weaver/src/main/java/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.java +++ b/weaver/src/main/java/org/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking.java @@ -35,7 +35,7 @@ import org.aspectj.weaver.tools.TraceFactory; * to signal to a background thread various actions required to "synchronize" * the in-memory cache with the persisted copy. Whenever there is a cache miss * from the {@link #get(CachedClassReference)} call, the weaver issues a - * {@link #put(CachedClassEntry)} call. This call has 2 side-effects:
+ * {@link #put(CachedClassEntry)} call. This call has 2 side-effects: *
    *
  • * The in-memory cache is updated so that subsequent calls to {@link #get(CachedClassReference)} diff --git a/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheBacking.java b/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheBacking.java index 0a018d9c8..f6eb1f585 100644 --- a/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheBacking.java +++ b/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheBacking.java @@ -15,10 +15,11 @@ package org.aspectj.weaver.tools.cache; /** * Interface for the backing to the cache; usually a file, * but could be an in-memory backing for testing. - *

    + *

    * aspectj and jvmti provide no suitable guarantees * on locking for class redefinitions, so every implementation * must have a some locking mechanism to prevent invalid reads. + *

    */ public interface CacheBacking { /** diff --git a/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheKeyResolver.java b/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheKeyResolver.java index 8c76ad878..c729efe7f 100644 --- a/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheKeyResolver.java +++ b/weaver/src/main/java/org/aspectj/weaver/tools/cache/CacheKeyResolver.java @@ -20,10 +20,11 @@ import java.util.List; * a reasonable naive implementation, the management and invalidation * of the cache may be more usefully accomplished at the Application * or Container level. - *

    + *

    * The key is not a one-way hash; it must be convertible back to a * className and must match the regex for the type of key it is * (generated or weaved). + *

    */ public interface CacheKeyResolver { /** diff --git a/weaver/src/main/java/org/aspectj/weaver/tools/cache/CachedClassReference.java b/weaver/src/main/java/org/aspectj/weaver/tools/cache/CachedClassReference.java index 430354855..443958406 100644 --- a/weaver/src/main/java/org/aspectj/weaver/tools/cache/CachedClassReference.java +++ b/weaver/src/main/java/org/aspectj/weaver/tools/cache/CachedClassReference.java @@ -18,9 +18,10 @@ package org.aspectj.weaver.tools.cache; * cache entry is a simple string, but that string may contain * some specialized encoding. This class handles all of that * encoding. - *

    + *

    * External users of the cache should not be able to create these * objects manually. + *

    */ public class CachedClassReference { enum EntryType { diff --git a/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.java b/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.java index e2d8288c4..11e9b2f2d 100644 --- a/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.java +++ b/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultCacheKeyResolver.java @@ -22,15 +22,18 @@ import java.util.zip.CRC32; /** * Naive default class and classloader hashing implementation useful * for some multi-classloader environments. - *

    - * This implementation creates classloader scopes of the form:
    + *

    + * This implementation creates classloader scopes of the form:
    * "ExampleClassLoaderName.[crc hash]" - *

    - * And weaved class keys of the form:
    + *

    + *

    + * And weaved class keys of the form:
    * "com.foo.BarClassName.[bytes len][crc].weaved" - *

    - * And generated class keys of the form:
    + *

    + *

    + * And generated class keys of the form:
    * "com.foo.BarClassName$AjClosure.generated + *

    */ public class DefaultCacheKeyResolver implements CacheKeyResolver { public static final String GENERATED_SUFFIX = ".generated"; diff --git a/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.java b/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.java index 21543a80d..7bfee2068 100644 --- a/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.java +++ b/weaver/src/main/java/org/aspectj/weaver/tools/cache/DefaultFileCacheBacking.java @@ -28,20 +28,23 @@ import org.aspectj.util.LangUtil; /** * Naive File-Backed Class Cache with no expiry or application * centric invalidation. - *

    + *

    * Enabled with the system property, "aj.weaving.cache.dir" * If this system property is not set, no caching will be * performed. - *

    + *

    + *

    * A CRC checksum is stored alongside the class file to verify * the bytes on read. If for some reason there is an error * reading either the class or crc file, or if the crc does not * match the class data the cache entry is deleted. - *

    + *

    + *

    * An alternate implementation of this could store the class file * as a jar/zip directly, which would have the required crc; as * a first pass however it is somewhat useful to view these files * in expanded form for debugging. + *

    */ public class DefaultFileCacheBacking extends AbstractIndexedFileCacheBacking { private final Map index; diff --git a/weaver/src/main/java/org/aspectj/weaver/tools/cache/WeavedClassCache.java b/weaver/src/main/java/org/aspectj/weaver/tools/cache/WeavedClassCache.java index c5c079dcf..cc0532316 100644 --- a/weaver/src/main/java/org/aspectj/weaver/tools/cache/WeavedClassCache.java +++ b/weaver/src/main/java/org/aspectj/weaver/tools/cache/WeavedClassCache.java @@ -27,44 +27,49 @@ import org.aspectj.weaver.tools.GeneratedClassHandler; * except designed to operate across multiple restarts of the JVM and with one * cache per classloader; allowing URLClassLoaders with the same set of URI * paths to share the same cache (with the default configuration). - *

    + *

    * To enable the default configuration two system properties must be set: + *

    *
      *    "-Daj.weaving.cache.enabled=true"
      *    "-Daj.weaving.cache.dir=/some/directory"
      * 
    - *

    + *

    * The class cache is often something that application developers or * containers would like to manage, so there are a few interfaces for overriding the * default behavior and performing other management functions. + *

    *

    - * {@link CacheBacking}
    + * {@link CacheBacking}
    * Provides an interface for implementing a custom backing store * for the cache; The default implementation in {@link DefaultFileCacheBacking} * provides a naive file-backed cache. An alternate implementation may ignore * caching until signaled explicitly by the application, or only cache files * for a specific duration. This class delegates the locking and synchronization * requirements to the CacheBacking implementation. - *

    - * {@link CacheKeyResolver}
    + *

    + *

    + * {@link CacheKeyResolver}
    * Provides methods for creating keys from classes to be cached and for * creating the "scope" of the cache itself for a given classloader and aspect * list. The default implementation is provided by {@link DefaultCacheKeyResolver} * but an alternate implementation may want to associate a cache with a particular * application running underneath a container. - *

    + *

    + *

    * This naive cache does not normally invalidate *any* classes; the interfaces above * must be used to implement more intelligent behavior. Cache invalidation * problems may occur in at least three scenarios: - *

    - *    1. New aspects are added dynamically somewhere in the classloader hierarchy; affecting
    - *       other classes elsewhere.
    - *    2. Use of declare parent in aspects to change the type hierarchy; if the cache
    + * 

    + *
      + *
    1. New aspects are added dynamically somewhere in the classloader hierarchy; affecting + * other classes elsewhere.
    2. + *
    3. Use of declare parent in aspects to change the type hierarchy; if the cache * has not invalidated the right classes in the type hierarchy aspectj may not - * be reconstruct the class incorrectly. - * 3. Similarly to (2), the addition of fields or methods on classes which have - * already been weaved and cached could have inter-type conflicts. - *
    + * be reconstruct the class incorrectly.
  • + *
  • Similarly to (2), the addition of fields or methods on classes which have + * already been weaved and cached could have inter-type conflicts.
  • + * */ public class WeavedClassCache { public static final String WEAVED_CLASS_CACHE_ENABLED = "aj.weaving.cache.enabled"; -- cgit v1.2.3