[jboss-cvs] JBossAS SVN: r60945 - projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/aspects.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 27 10:37:05 EST 2007


Author: alesj
Date: 2007-02-27 10:37:05 -0500 (Tue, 27 Feb 2007)
New Revision: 60945

Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/aspects/AbstractIntroduction.java
Log:
Introduction helper class - annotation introduction.

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/aspects/AbstractIntroduction.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/aspects/AbstractIntroduction.java	2007-02-27 15:00:09 UTC (rev 60944)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/aspects/AbstractIntroduction.java	2007-02-27 15:37:05 UTC (rev 60945)
@@ -33,35 +33,42 @@
  *
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
-public abstract class AbstractIntroduction implements Interceptor
+public abstract class AbstractIntroduction<T extends Annotation> implements Interceptor
 {
    public String getName()
    {
       return getClass().getName();
    }
 
-   protected abstract Class<? extends Annotation> getBindingAnnotation();
+   protected abstract Class<T> getBindingAnnotation();
 
    protected boolean isBindingInfoPresent(Invocation invocation)
    {
       return invocation.resolveClassAnnotation(getBindingAnnotation()) != null;
    }
 
+   protected T resolveBindingInfo(Invocation invocation)
+   {
+      Class<T> bindingClass = getBindingAnnotation();
+      Object bindingInfo = invocation.resolveClassAnnotation(bindingClass);
+      return bindingClass.cast(bindingInfo);
+   }
+
    protected void onRegistration(Invocation invocation, KernelControllerContext context)
    {
-      onRegistration(context);
+      onRegistration(context, resolveBindingInfo(invocation));
    }
 
-   protected void onRegistration(KernelControllerContext context)
+   protected void onRegistration(KernelControllerContext context, T annotation)
    {
    }
 
    protected void onUnregistration(Invocation invocation, KernelControllerContext context)
    {
-      onUnregistration(context);
+      onUnregistration(context, resolveBindingInfo(invocation));
    }
 
-   protected void onUnregistration(KernelControllerContext context)
+   protected void onUnregistration(KernelControllerContext context, T annotation)
    {
    }
 




More information about the jboss-cvs-commits mailing list