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 }