View Javadoc

1   /*************************************************
2    * Copyright (c) Shen Li. All rights reserved.  *
3    * http://joyaop.sourceforge.net                *
4    * -------------------------------------------- *
5    * Distributable under LGPL license.            *
6    * See terms of license at gnu.org.             *
7    ************************************************/
8   package net.sf.joyaop.framework;
9   
10  import java.lang.reflect.Method;
11  import java.util.Set;
12  
13  /***
14   * It contains all the metadata of an aspectized class.
15   * 
16   * @author Shen Li
17   */
18  public interface AspectizedClass {
19      void addInterceptor(Method method, InterceptorAspect interceptorAspect);
20  
21      void addInterface(InterfaceAspect interfaceAspect);
22  
23      void addMixin(MixinAspect mixinAspect);
24  
25      Object newInstance();
26  
27      Object newInstance(Class[] argTypes, Object[] args);
28  
29      Class getOriginalClass();
30  
31      Set getInterceptors(Method method);
32  
33      MixinAspect getMixin(Class interfaceClass);
34  
35      Set getMethods();
36  }