/* *******************************************************************
 * 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.weaver.tools;

Pointcut expression interface for pointcut expressions returned by a PointcutDesignatorHandler. Provides an additional matching method for matching based on context information over and above that normally used by AspectJ.
See Also:
  • MatchingContext
/** * Pointcut expression interface for pointcut * expressions returned by a * PointcutDesignatorHandler. Provides an additional * matching method for matching based on context * information over and above that normally used * by AspectJ. * * @see MatchingContext * */
public interface ContextBasedMatcher {
return true iff this matcher could ever match a join point in the given type
Deprecated:use couldMatchJoinPointsInType(Class,MatchingContext) instead
/** * return true iff this matcher could ever match * a join point in the given type * @deprecated use couldMatchJoinPointsInType(Class,MatchingContext) instead */
boolean couldMatchJoinPointsInType(Class aClass);
return true iff this matcher could ever match a join point in the given type, may also use any match context information available
Since:1.5.1
/** * return true iff this matcher could ever match * a join point in the given type, may also use any * match context information available * @since 1.5.1 */
boolean couldMatchJoinPointsInType(Class aClass, MatchingContext matchContext);
return true if matchesStatically can ever return FuzzyBoolean.MAYBE (necessitating a per-join point test to determine matching at a given join point).
/** * return true if matchesStatically can ever return * FuzzyBoolean.MAYBE (necessitating a per-join point test * to determine matching at a given join point). */
boolean mayNeedDynamicTest();
Return FuzzyBoolean.YES if a join point with the given matching context is always matched. Return FuzzyBoolean.NO if a join point with the given matching context is never matched. Return FuzzyBoolean.MAYBE if a match cannot be determined statically (whilst generating a ShadowMatch), and must be determined on a per-join point basis.
/** * Return FuzzyBoolean.YES if a join point with the given * matching context is always matched. * Return FuzzyBoolean.NO if a join point with the given * matching context is never matched. * Return FuzzyBoolean.MAYBE if a match cannot be determined * statically (whilst generating a ShadowMatch), and must * be determined on a per-join point basis. */
FuzzyBoolean matchesStatically(MatchingContext matchContext);
Called during processing of ShadowMatch.matchesJoinPoint when matchesStatically returned FuzzyBoolean.MAYBE.
/** * Called during processing of ShadowMatch.matchesJoinPoint * when matchesStatically returned FuzzyBoolean.MAYBE. */
boolean matchesDynamically(MatchingContext matchContext); }