JBoss AOP - Aspect-Oriented Framework for Java

JBoss AOP Reference Documentation

2.0.0


Table of Contents

Preface
1. Terms
1.1. Overview
2. Chapter 2
2.1. Overview
2.2. Aspect Class
2.3. Advice Methods
2.4. Interceptors
2.5. Resolving Annotations
2.6. Metadata
2.6.1. Resolving XML Metadata
2.6.2. Attaching Metadata
2.7. Mixin Definition
2.8. Dynamic CFlow
3. Joinpoint and Pointcut Expressions
3.1. Wildcards
3.2. Type Patterns
3.3. Method Patterns
3.4. Constructor Patterns
3.5. Field Patterns
3.6. Pointcuts
3.7. Pointcut Composition
3.8. Pointcut References
3.9. Typedef Expressions
3.10. Joinpoints
3.10.1. Joinpoint Beans
3.10.2. Context Values
4. Advices
4.1. Around Advices
4.2. Before/After/After-Throwing/Finally Advices
4.2.1. Before Advice Signature
4.2.2. After Advice Signature
4.2.3. After-Throwing Advice Signature
4.2.4. Finally Advice Signature
4.3. Annotated Advice Parameters
4.3.1. @Thrown annotated parameter
4.3.2. JoinPoint Arguments
4.4. Overloaded Advices
4.4.1. Annotated-parameter Signature
4.4.1.1. Presence priority
4.4.1.2. Assignability Degree
4.4.1.3. Return Types
4.4.1.4. A Match
4.4.1.5. Lowest Priority
4.4.2. Default Signature
4.4.3. Mixing Different Signatures
4.5. Common Mistakes
5. XML Bindings
5.1. Intro
5.2. Resolving XML
5.2.1. Standalone XML Resolving
5.2.2. Application Server XML Resolving
5.3. XML Schema
5.4. aspect
5.4.1. Basic Definition
5.4.2. Scope
5.4.3. Configuration
5.4.3.1. Names
5.4.3.2. Example configuration
5.4.4. Aspect Factories
5.5. interceptor
5.6. bind
5.7. stack
5.8. pointcut
5.9. introduction
5.9.1. Interface introductions
5.9.2. Mixins
5.10. annotation-introduction
5.11. cflow-stack
5.12. typedef
5.13. dynamic-cflow
5.14. prepare
5.15. metadata
5.16. metadata-loader
5.17. precedence
5.18. declare
5.18.1. declare-warning
5.18.2. declare-error
6. Annotation Bindings
6.1. @Aspect
6.2. @InterceptorDef
6.2.1. Interceptor Example
6.2.2. AspectFactory Example
6.3. @PointcutDef
6.4. @Bind
6.5. @Introduction
6.6. @Mixin
6.7. @Prepare
6.7.1. @Prepare POJO
6.8. @TypeDef
6.9. @CFlowDef
6.10. @DynamicCFlowDef
6.11. @AnnotationIntroductionDef
6.12. @Precedence
6.13. @DeclareError and @DeclareWarning
7. Dynamic AOP
7.1. Hot Deployment
7.2. Per Instance AOP
7.3. Preparation
7.4. Improved Instance API
7.5. DynamicAOP with HotSwap
8. Installing
8.1. Installing Standalone
8.2. Installing with JBoss 4.0.x and JBoss 4.2.x Application Server for JDK 5
8.3. Installing with JBoss Application Server 5
9. Building and Compiling Aspectized Java
9.1. Instrumentation modes
9.2. Ant Integration
9.3. Command Line
10. Running Aspectized Applications
10.1. Loadtime, Compiletime and HotSwap Modes
10.2. Regular Java Applications
10.2.1. Precompiled instrumentation
10.2.2. Loadtime
10.2.2.1. Loadtime using JRockit
10.2.2.2. Improving Loadtime Performance
10.2.3. HotSwap
10.2.4. User-Defined ClassLoaders
10.3. JBoss Application Server
10.3.1. Packaging AOP Applications
10.3.2. The JBoss AspectManager Service
10.3.2.1. JBoss 5 AspectManager Service
10.3.2.2. JBoss 4.x AspectManager Service
10.3.3. Loadtime transformation in JBoss AS Using Sun JDK
10.3.4. JBoss 5 and JRockit
10.3.5. Improving Loadtime Performance in a JBoss AS Environment
10.4. Scoping aop to the classloader
10.4.1. Deploying as part of a scoped classloader
10.4.2. Attaching to a scoped deployment
11. Building JBoss AOP with Maven2
11.1. AOP Compile with Maven2
11.2. AOP Compile tests with Maven2
11.3. Running precompiled with Maven2
11.4. Running loadtime weaving with Maven2
11.5. Running tests with Maven2
12. Reflection and AOP
12.1. Force interception via reflection
12.2. Clean results from reflection info methods
13. Interception of Array Element Access
13.1. Replacing Array Access
13.2. Preparing Array Fields
13.3. Binding Advices to array element access
13.4. Invocation types for array element access interception
14. Instrumentation Modes
14.1. Classic Weaving
14.1.1. Non-optimized
14.1.2. Optimized
14.2. Generated Advisor Weaving
14.2.1. Lightweight Aspects
14.2.2. Improved Instance API
14.2.3. Chain Overriding of Inherited Methods