01: /**************************************************************************************
02: * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
03: * http://aspectwerkz.codehaus.org *
04: * ---------------------------------------------------------------------------------- *
05: * The software in this package is published under the terms of the LGPL license *
06: * a copy of which has been included with this distribution in the license.txt file. *
07: **************************************************************************************/package org.codehaus.aspectwerkz.reflect;
08:
09: /**
10: * Interface for the method info implementations.
11: *
12: * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
13: */
14: public interface MethodInfo extends MemberInfo {
15: /**
16: * Returns the return type.
17: *
18: * @return the return type
19: */
20: ClassInfo getReturnType();
21:
22: /**
23: * Returns the parameter types.
24: *
25: * @return the parameter types
26: */
27: ClassInfo[] getParameterTypes();
28:
29: /**
30: * Returns the parameter names as they appear in the source code.
31: * This information is available only when class are compiled with javac -g (debug info), but is required
32: * for Aspect that are using args() and target()/this() bindings.
33: * <p/>
34: * It returns null if not available.
35: *
36: * @return
37: */
38: String[] getParameterNames();
39:
40: /**
41: * Returns the exception types.
42: *
43: * @return the exception types
44: */
45: ClassInfo[] getExceptionTypes();
46:
47: }
|