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 }