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

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

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/* *******************************************************************
 * 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