All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aspectj.lang.Signature Maven / Gradle / Ivy

/* *******************************************************************
 * Copyright (c) 1999-2001 Xerox Corporation,
 *               2002 Palo Alto Research Center, Incorporated (PARC).
 * All rights reserved.
 * This program and the accompanying materials are made available
 * under the terms of the Eclipse Public License v 2.0
 * which accompanies this distribution and is available at
 * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
 *
 * Contributors:
 *     Xerox/PARC     initial implementation
 * ******************************************************************/


package org.aspectj.lang;

/** 

Represents the signature at a join point. This interface parallels * java.lang.reflect.Member.

* *

This interface is typically used for tracing or logging applications * to obtain reflective information about the join point, i.e. using * the j2se 1.4 java.util.logging API

*
 * aspect Logging {
 *     Logger logger = Logger.getLogger("MethodEntries");
 *
 *     before(): within(com.bigboxco..*) && execution(public * *(..)) {
 *         Signature sig = thisJoinPoint.getSignature();
 *         logger.entering(sig.getDeclaringType().getName(),
 *                         sig.getName());
 *     }
 * }
 * 
* * *

More detailed information about a specific kind of signature can * be obtained by casting this Signature object into one * of its more specific sub-types available in * org.aspectj.lang.reflect. * * @see java.lang.reflect.Member * @see java.util.logging.Logger */ public interface Signature { String toString(); /** * @return an abbreviated string representation of this signature. */ String toShortString(); /** * @return an extended string representation of this signature. */ String toLongString(); /** * @return the identifier part of this signature. For methods this * will return the method name. * * @see java.lang.reflect.Member#getName */ String getName(); /** * Returns the modifiers on this signature represented as an int. Use * the constants and helper methods defined on * java.lang.reflect.Modifier to manipulate this, i.e. *

     *     // check if this signature is public
     *     java.lang.reflect.Modifier.isPublic(sig.getModifiers());
     *
     *     // print out the modifiers
     *     java.lang.reflect.Modifier.toString(sig.getModifiers());
     * 
* * @return the modifiers on this signature represented as an int * @see java.lang.reflect.Member#getModifiers * @see java.lang.reflect.Modifier */ int getModifiers(); /** *

Returns a java.lang.Class object representing the class, * interface, or aspect that declared this member. For intra-member * declarations, this will be the type on which the member is declared, * not the type where the declaration is lexically written. Use * SourceLocation.getWithinType() to get the type in * which the declaration occurs lexically.

*

For consistency with java.lang.reflect.Member, this * method should have been named getDeclaringClass().

* * @return the class, interface or aspect that declared this member * @see java.lang.reflect.Member#getDeclaringClass */ Class getDeclaringType(); /** * This is equivalent to calling getDeclaringType().getName(), but caches * the result for greater efficiency. * * @return the fully qualified name of the declaring type */ String getDeclaringTypeName(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy