View Javadoc

    1   /***************************************************************************************
    2    * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved.                 *
    3    * http://aspectwerkz.codehaus.org                                                    *
    4    * ---------------------------------------------------------------------------------- *
    5    * The software in this package is published under the terms of the LGPL license      *
    6    * a copy of which has been included with this distribution in the license.txt file.  *
    7    **************************************************************************************/
    8   package org.codehaus.aspectwerkz.transform.inlining.compiler;
    9
    10  import org.codehaus.aspectwerkz.expression.ExpressionContext;
    11
    12  /***
    13   * Holds info sufficient for picking out the join points we are interested in advising.
    14   *
    15   * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
    16   */
    17  final public class MatchingJoinPointInfo {
    18      private final Class m_joinPointClass;
    19      private final CompilationInfo m_compilationInfo;
    20      private final ExpressionContext m_expressionContext;
    21
    22      public MatchingJoinPointInfo(final Class joinPointClass,
    23                                   final CompilationInfo compilationInfo,
    24                                   final ExpressionContext expressionContext) {
    25          m_joinPointClass = joinPointClass;
    26          m_compilationInfo = compilationInfo;
    27          m_expressionContext = expressionContext;
    28      }
    29
    30      public Class getJoinPointClass() {
    31          return m_joinPointClass;
    32      }
    33
    34      public CompilationInfo getCompilationInfo() {
    35          return m_compilationInfo;
    36      }
    37
    38      public ExpressionContext getExpressionContext() {
    39          return m_expressionContext;
    40      }
    41
    42      public int hashCode() {
    43          return m_compilationInfo.hashCode();
    44      }
    45
    46      public boolean equals(Object o) {
    47          return ((MatchingJoinPointInfo) o).m_compilationInfo == m_compilationInfo;
    48      }
    49  }