| Modifier and Type | Class and Description |
|---|---|
| pack-priv class |
| Modifier and Type | Field and Description |
|---|---|
| private static final String | |
| private List | |
| private List | |
| private List | |
| private List | |
| private static Method | |
| private List | |
| pack-priv static Method | |
| private static Object | |
| private boolean | |
| private boolean | |
| private List | |
| private List | |
| private List | |
| private List | |
| private List | |
| private List | |
| private List | |
| private boolean | |
| private boolean | |
| private List | |
| private boolean | |
| private List | |
| private List | |
| private boolean | |
| private static Boolean | |
| private static Method | |
| private static final Object | |
| private StringBuffer | |
| private static Trace | |
| private Unsafe | |
| private IWeavingContext |
| Access | Constructor and Description |
|---|---|
| public | |
| public | ClassLoaderWeavingAdaptor(final ClassLoader deprecatedLoader, final IWeavingContext deprecatedContext)
Deprecated
We don't need a reference to the class loader and using it during construction can cause problems with recursion.
|
| Modifier and Type | Method and Description |
|---|---|
| protected boolean | Returns: true if it should be accepted for weavingthe name of the type to possibly accept className, byte[] the bytecode for the type (in case we need to look inside, eg. annotations) bytes)
Determine whether a type should be accepted for weaving, by checking it against any includes/excludes.
|
| private boolean | |
| private void | |
| private void | |
| public void | |
| public void | flushGeneratedClassesFor(String
a slashed classname (e.g. com/foo/Bar) className)Remove generated classes based on the supplied className. |
| public boolean | Returns: true if a class has been generated and is stored in the cacheTODO className)Check to see if any classes are stored in the generated classes cache. |
| pack-priv List | getAspectClassNames(List<Definition> definitions)
Get the list of all aspects from the defintion list |
| private String | |
| public String | |
| protected String | |
| public String | |
| private Unsafe | |
| private boolean | hasSpaceAnnotationPlus(String string, int pos)
Determine if something in the string is going to affect our ability to optimize. |
| private boolean | hasStarDot(String string, int pos)
Determine if something in the string is going to affect our ability to optimize. |
| public void | |
| private static synchronized void | |
| protected void | |
| private String | |
| private String | looksLikeExactName(String typePattern)
Checks if the pattern looks like "com.foo.Bar" - an exact name |
| private String | looksLikeStarDotDotStarExclude(String typePattern)
Checks if the pattern looks like "*..*XXXX*" and if so returns XXXX. |
| private String | |
| pack-priv List | parseDefinitions(final ClassLoader loader)
Load and cache the aop.xml/properties according to the classloader visibility rules |
| private void | registerAspectExclude(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions)
|
| private void | registerAspectInclude(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions)
|
| private boolean | registerAspects(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions)
Register the aspect, following include / exclude rules |
| private boolean | registerDefinitions(final BcelWeaver weaver, final ClassLoader loader, List<Definition> definitions)
|
| private void | registerDump(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions)
Register the dump filter |
| private void | registerIncludeExclude(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions)
Register the include / exclude filters. |
| private void | registerOptions(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions)
Configure the weaver according to the option directives TODO av - don't know if it is that good to reuse, since we only allow a small subset of options in LTW |
| protected boolean | shouldDump(String className, boolean before)
Overrides org. |
| private boolean |
| AOP_XML | back to summary |
|---|---|
| private static final String AOP_XML | |
| aspectExcludeStartsWith | back to summary |
|---|---|
| private List<String> aspectExcludeStartsWith | |
| aspectExcludeTypePattern | back to summary |
|---|---|
| private List<TypePattern> aspectExcludeTypePattern | |
| aspectIncludeStartsWith | back to summary |
|---|---|
| private List<String> aspectIncludeStartsWith | |
| aspectIncludeTypePattern | back to summary |
|---|---|
| private List<TypePattern> aspectIncludeTypePattern | |
| bindTo_Method | back to summary |
|---|---|
| private static Method bindTo_Method | |
| concreteAspects | back to summary |
|---|---|
| private List<ConcreteAspectCodeGen> concreteAspects | |
| defineClassMethod | back to summary |
|---|---|
| pack-priv static Method defineClassMethod | |
| defineClassMethodHandle | back to summary |
|---|---|
| private static Object defineClassMethodHandle | |
| dumpBefore | back to summary |
|---|---|
| private boolean dumpBefore | |
| dumpDirPerClassloader | back to summary |
|---|---|
| private boolean dumpDirPerClassloader | |
| dumpTypePattern | back to summary |
|---|---|
| private List<TypePattern> dumpTypePattern | |
| excludeEndsWith | back to summary |
|---|---|
| private List<String> excludeEndsWith | |
| excludeExactName | back to summary |
|---|---|
| private List<String> excludeExactName | |
| excludeSpecial | back to summary |
|---|---|
| private List<String[]> excludeSpecial | |
| excludeStarDotDotStar | back to summary |
|---|---|
| private List<String> excludeStarDotDotStar | |
| excludeStartsWith | back to summary |
|---|---|
| private List<String> excludeStartsWith | |
| excludeTypePattern | back to summary |
|---|---|
| private List<TypePattern> excludeTypePattern | |
| hasExcludes | back to summary |
|---|---|
| private boolean hasExcludes | |
| hasIncludes | back to summary |
|---|---|
| private boolean hasIncludes | |
| includeExactName | back to summary |
|---|---|
| private List<String> includeExactName | |
| includeStar | back to summary |
|---|---|
| private boolean includeStar | |
| includeStartsWith | back to summary |
|---|---|
| private List<String> includeStartsWith | |
| includeTypePattern | back to summary |
|---|---|
| private List<TypePattern> includeTypePattern | |
| initialized | back to summary |
|---|---|
| private boolean initialized | |
| initializedForJava11 | back to summary |
|---|---|
| private static Boolean initializedForJava11 | |
| invokeWithArguments_Method | back to summary |
|---|---|
| private static Method invokeWithArguments_Method | |
| lock | back to summary |
|---|---|
| private static final Object lock | |
| namespace | back to summary |
|---|---|
| private StringBuffer namespace | |
| trace | back to summary |
|---|---|
| private static Trace trace | |
| unsafe | back to summary |
|---|---|
| private Unsafe unsafe | |
| weavingContext | back to summary |
|---|---|
| private IWeavingContext weavingContext | |
| ClassLoaderWeavingAdaptor | back to summary |
|---|---|
| public ClassLoaderWeavingAdaptor() | |
| ClassLoaderWeavingAdaptor | back to summary |
|---|---|
| public ClassLoaderWeavingAdaptor(final ClassLoader deprecatedLoader, final IWeavingContext deprecatedContext)
Deprecated
We don't need a reference to the class loader and using it during construction can cause problems with recursion. It also makes sense to supply the weaving context during initialization to.
| |
| accept | back to summary |
|---|---|
| protected boolean accept(String className, byte[] bytes) Overrides org. Determine whether a type should be accepted for weaving, by checking it against any includes/excludes. | |
| acceptAspect | back to summary |
|---|---|
| private boolean acceptAspect(String aspectClassName) | |
| defineClass | back to summary |
|---|---|
| private void defineClass(ClassLoader loader, String name, byte[] bytes, ProtectionDomain protectionDomain) | |
| defineClass | back to summary |
|---|---|
| private void defineClass(ClassLoader loader, String name, byte[] bytes) | |
| flushGeneratedClasses | back to summary |
|---|---|
| public void flushGeneratedClasses() Flush the generated classes cache | |
| flushGeneratedClassesFor | back to summary |
|---|---|
| public void flushGeneratedClassesFor(String className) Remove generated classes based on the supplied className. This will remove any entries related to this name - so the class itself plus and inner classes.
| |
| generatedClassesExistFor | back to summary |
|---|---|
| public boolean generatedClassesExistFor(String className) Check to see if any classes are stored in the generated classes cache. Then flush the cache if it is not empty
| |
| getAspectClassNames | back to summary |
|---|---|
| pack-priv List Get the list of all aspects from the defintion list | |
| getClassLoaderName | back to summary |
|---|---|
| private String getClassLoaderName(ClassLoader loader) | |
| getContextId | back to summary |
|---|---|
| public String getContextId() Overrides org. Implements org.
| |
| getDumpDir | back to summary |
|---|---|
| protected String getDumpDir() Overrides org.
| |
| getNamespace | back to summary |
|---|---|
public String getNamespace()
| |
| getUnsafe | back to summary |
|---|---|
| private Unsafe getUnsafe() throws NoSuchFieldException, IllegalAccessException | |
| hasSpaceAnnotationPlus | back to summary |
|---|---|
| private boolean hasSpaceAnnotationPlus(String string, int pos) Determine if something in the string is going to affect our ability to optimize. Checks for: ' ' '@' '+' | |
| hasStarDot | back to summary |
|---|---|
| private boolean hasStarDot(String string, int pos) Determine if something in the string is going to affect our ability to optimize. Checks for: '*' '.' | |
| initialize | back to summary |
|---|---|
| public void initialize(final ClassLoader classLoader, IWeavingContext context) | |
| initializeForJava11 | back to summary |
|---|---|
| private static synchronized void initializeForJava11() | |
| lint | back to summary |
|---|---|
| protected void lint(String name, String[] infos) | |
| looksLikeEndsWith | back to summary |
|---|---|
| private String looksLikeEndsWith(String typePattern) Checks if the pattern looks like "*Exception" | |
| looksLikeExactName | back to summary |
|---|---|
| private String looksLikeExactName(String typePattern) Checks if the pattern looks like "com.foo.Bar" - an exact name | |
| looksLikeStarDotDotStarExclude | back to summary |
|---|---|
| private String looksLikeStarDotDotStarExclude(String typePattern) Checks if the pattern looks like "*..*XXXX*" and if so returns XXXX. This will enable fast name matching of CGLIB exclusion | |
| looksLikeStartsWith | back to summary |
|---|---|
| private String looksLikeStartsWith(String typePattern) Checks if the type pattern looks like "com.foo..*" | |
| parseDefinitions | back to summary |
|---|---|
| pack-priv List Load and cache the aop.xml/properties according to the classloader visibility rules | |
| registerAspectExclude | back to summary |
|---|---|
| private void registerAspectExclude(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions) | |
| registerAspectInclude | back to summary |
|---|---|
| private void registerAspectInclude(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions) | |
| registerAspects | back to summary |
|---|---|
| private boolean registerAspects(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions) Register the aspect, following include / exclude rules | |
| registerDefinitions | back to summary |
|---|---|
| private boolean registerDefinitions(final BcelWeaver weaver, final ClassLoader loader, List<Definition> definitions) | |
| registerDump | back to summary |
|---|---|
| private void registerDump(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions) Register the dump filter | |
| registerIncludeExclude | back to summary |
|---|---|
| private void registerIncludeExclude(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions) Register the include / exclude filters. We duplicate simple patterns in startWith filters that will allow faster matching without ResolvedType | |
| registerOptions | back to summary |
|---|---|
| private void registerOptions(final BcelWeaver weaver, final ClassLoader loader, final List<Definition> definitions) Configure the weaver according to the option directives TODO av - don't know if it is that good to reuse, since we only allow a small subset of options in LTW | |
| shouldDump | back to summary |
|---|---|
| protected boolean shouldDump(String className, boolean before) Overrides org.
| |
| weaveAndDefineConceteAspects | back to summary |
|---|---|
| private boolean weaveAndDefineConceteAspects() | |
| Modifier and Type | Field and Description |
|---|---|
| private BcelWeakClassLoaderReference |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public void | acceptClass(String
class name name, byte[] original class bytes originalBytes, byte[] woven class bytes wovenBytes)Implements org. |
| loaderRef | back to summary |
|---|---|
| private BcelWeakClassLoaderReference loaderRef | |
| SimpleGeneratedClassHandler | back to summary |
|---|---|
| pack-priv SimpleGeneratedClassHandler(ClassLoader loader) | |
| acceptClass | back to summary |
|---|---|
| public void acceptClass(String name, byte[] originalBytes, byte[] wovenBytes) Implements org. Callback when we need to define a Closure in the JVM
| |