/* *******************************************************************
 * Copyright (c) 2005 Contributors.
 * All rights reserved. 
 * This program and the accompanying materials are made available 
 * under the terms of the Eclipse Public License v1.0 
 * which accompanies this distribution and is available at 
 * http://eclipse.org/legal/epl-v10.html 
 *  
 * Contributors: 
 *   Adrian Colyer			Initial implementation
 * ******************************************************************/
package org.aspectj.lang.reflect;

AspectJ runtime representation of a pointcut member inside a class or aspect.
/** * AspectJ runtime representation of a pointcut member inside a class or aspect. */
public interface Pointcut {
Returns:the declared name of the pointcut.
/** * @return the declared name of the pointcut. */
String getName();
Returns:the modifiers associated with the pointcut declaration. Use java.lang.reflect.Modifier to interpret the return value
/** * @return the modifiers associated with the pointcut declaration. * Use java.lang.reflect.Modifier to interpret the return value */
int getModifiers();
Returns:the pointcut parameter types.
/** * @return the pointcut parameter types. */
AjType<?>[] getParameterTypes();
Returns:the pointcut parameter names. Returns an array of empty strings of length getParameterTypes().length if parameter names are not available at runtime.
/** * @return the pointcut parameter names. Returns an array of empty strings * of length getParameterTypes().length if parameter names are not * available at runtime. */
String[] getParameterNames();
Returns:the type that declared this pointcut
/** * @return the type that declared this pointcut */
AjType getDeclaringType();
Returns:the pointcut expression associated with this pointcut.
/** * @return the pointcut expression associated with this pointcut. */
PointcutExpression getPointcutExpression(); }