1 /*2 * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.3 */4 package com.tc.aspectwerkz.joinpoint;5 6 /**7 * Holds static and reflective information about the join point (Runtime Type Information).8 *9 * @author <a HREF="mailto:jboner@codehaus.org">Jonas BonŽr </a>10 */11 public interface Rtti {12 /**13 * Returns the name (f.e. name of method of field).14 *15 * @return16 */17 String getName();18 19 /**20 * Returns the target instance.21 *22 * @return the target instance23 */24 Object getTarget();25 26 /**27 * Returns the instance currently executing (this).28 *29 * @return the instance currently executing (this)30 */31 Object getThis();32 33 /**34 * Returns the declaring class.35 *36 * @return the declaring class37 */38 Class getDeclaringType();39 40 /**41 * Returns the modifiers for the signature. <p/>Could be used like this:42 * <p/>43 * <pre>44 * boolean isPublic = java.lang.reflect.Modifier.isPublic(signature.getModifiers());45 * </pre>46 *47 * @return the mofifiers48 */49 int getModifiers();50 51 Rtti cloneFor(Object targetInstance, Object thisInstance);52 }