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 }