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  }