diff options
author | aclement <aclement> | 2007-12-07 13:32:26 +0000 |
---|---|---|
committer | aclement <aclement> | 2007-12-07 13:32:26 +0000 |
commit | 197607d2bba1edb98804f13e1c16cf1b53e7d828 (patch) | |
tree | cb0ad60d88426f791d9e5eaf29ed40b4cd64207a | |
parent | 61be6d639ffdd7feea0c3f88b09e00a3a3a84035 (diff) | |
download | aspectj-1_5_4rc1.tar.gz aspectj-1_5_4rc1.zip |
PointcutDoctor javadoc - 193065V1_5_4rc1
-rw-r--r-- | weaver/src/org/aspectj/weaver/CustomMungerFactory.java | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/weaver/src/org/aspectj/weaver/CustomMungerFactory.java b/weaver/src/org/aspectj/weaver/CustomMungerFactory.java index 67f0dfc1a..3ff37a423 100644 --- a/weaver/src/org/aspectj/weaver/CustomMungerFactory.java +++ b/weaver/src/org/aspectj/weaver/CustomMungerFactory.java @@ -14,8 +14,45 @@ package org.aspectj.weaver; import java.util.Collection; +/** + * <p> + * This interface is introduced to support tools like PointcutDoctor. + * </p> + * <p> + * A CustomMungerFactory is used to create ShadowMungers and/or + * ConcreteTypeMungers so that an extender can extract extra information during + * the weaving process. + * </p> + * <p> + * A CustomMungerFactory is assigned to a weaver through its AjCompiler in + * extenders' code, and gets invoked by the weaver right before the weaving + * starts. The custom shadow/type mungers being created will be added into the + * shadow/type munger list in the weaver and participate the weaving process. + * For example, the match method of each custom shadow munger will be called + * against each shadow. + * </p> + * @author lintonye + * + */ public interface CustomMungerFactory { - public Collection/*ShadowMunger*/ createCustomShadowMungers(ResolvedType aspectType); - public Collection/*ConcreteTypeMunger*/ createCustomTypeMungers(ResolvedType aspectType); -// public Collection<Declare> createCustomDeclares(ResolvedType aspectType); + + /** + * @param aspectType + * @return a Collection<ShadowMunger> of custom shadow mungers for the + * given aspect + */ + public Collection/* ShadowMunger */createCustomShadowMungers( + ResolvedType aspectType); + + /** + * @param aspectType + * @return a Collection<ConcreteTypeMunger> of custom type mungers for the + * given aspect + */ + public Collection/* ConcreteTypeMunger */createCustomTypeMungers( + ResolvedType aspectType); + + public Collection/* ShadowMunger */getAllCreatedCustomShadowMungers(); + + public Collection/* ConcreteTypeMunger */getAllCreatedCustomTypeMungers(); } |