/************************************************************************************** * Copyright (c) Jonas Bon�r, Alexandre Vasseur. All rights reserved. * * http://aspectwerkz.codehaus.org * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the LGPL license * * a copy of which has been included with this distribution in the license.txt file. * **************************************************************************************/ package org.codehaus.aspectwerkz.transform; /** * A tuple based on className and defining ClassLoader object * * @author <a href="mailto:alex@gnilux.com">Alexandre Vasseur </a> */ public class ClassCacheTuple { private ClassLoader classLoader; private String className; public ClassCacheTuple(ClassLoader classLoader, String className) { setClassLoader(classLoader); setClassName(className); } public ClassCacheTuple(Class klass) { setClassLoader(klass.getClassLoader()); setClassName(klass.getName()); } public ClassLoader getClassLoader() { return classLoader; } public void setClassLoader(ClassLoader classLoader) { this.classLoader = classLoader; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof ClassCacheTuple)) { return false; } final ClassCacheTuple classCacheTuple = (ClassCacheTuple) o; if (!classLoader.equals(classCacheTuple.classLoader)) { return false; } if (!className.equals(classCacheTuple.className)) { return false; } return true; } public int hashCode() { int result; result = classLoader.hashCode(); result = (29 * result) + className.hashCode(); return result; } }