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 }