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.joinpoint;
08:
09: /**
10: * Holds static and reflective information about the join point (Runtime Type Information).
11: *
12: * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
13: */
14: public interface Rtti {
15: /**
16: * Returns the name (f.e. name of method of field).
17: *
18: * @return
19: */
20: String getName();
21:
22: /**
23: * Returns the target instance.
24: *
25: * @return the target instance
26: */
27: Object getTarget();
28:
29: /**
30: * Returns the instance currently executing (this).
31: *
32: * @return the instance currently executing (this)
33: */
34: Object getThis();
35:
36: /**
37: * Returns the declaring class.
38: *
39: * @return the declaring class
40: */
41: Class getDeclaringType();
42:
43: /**
44: * Returns the modifiers for the signature. <p/>Could be used like this:
45: * <p/>
46: * <pre>
47: * boolean isPublic = java.lang.reflect.Modifier.isPublic(signature.getModifiers());
48: * </pre>
49: *
50: * @return the mofifiers
51: */
52: int getModifiers();
53:
54: Rtti cloneFor(Object targetInstance, Object thisInstance);
55: }
|