1  /*
     2   * Copyright the original author or authors.
     3   * 
     4   * Licensed under the MOZILLA PUBLIC LICENSE, Version 1.1 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   * 
     8   *      http://www.mozilla.org/MPL/MPL-1.1.html
     9   * 
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  import org.as2lib.core.BasicInterface;
    18  
    19  /**
    20   * {@code Matcher} matches the string representation of a join point against a pattern.
    21   * Depending on the implementation the pattern may consist of various wildcards and
    22   * logical operators. Common wildcards and operators that are also supported by AspectJ
    23   * are:
    24   * 
    25   * <ul>
    26   *   <li>'*' indicates any number of characters excluding the period.</li>
    27   *   <li>'..' indicates any number of charecters including all periods.</li>
    28   *   <li>'+' indicates all subclasses or subinterfaces of a given type.</li>
    29   *   <li>'!' negates the match.</li>
    30   * </ul>
    31   * 
    32   * @author Simon Wacker
    33   */
    34  interface org.as2lib.aop.Matcher extends BasicInterface {
    35  	
    36  	/**
    37  	 * Checks if the passed-in {@code joinPoint} represented by a string matches the
    38  	 * given {@code pattern}.
    39  	 *
    40  	 * @param joinPoint the join point represented as a string
    41  	 * @param pattern the pattern that may match the given {@code joinPoint} string
    42  	 * @return {@code true} if the given {@code joinPoint} matches the given
    43  	 * {@code pattern} else {@code false}
    44  	 */
    45  	public function match(joinPoint:String, pattern:String):Boolean;
    46  	
    47  }