001 /**
002 * ================================================
003 * LibLoader : a free Java resource loading library
004 * ================================================
005 *
006 * Project Info: http://reporting.pentaho.org/libloader/
007 *
008 * (C) Copyright 2006, by Pentaho Corporation and Contributors.
009 *
010 * This library is free software; you can redistribute it and/or modify it under the terms
011 * of the GNU Lesser General Public License as published by the Free Software Foundation;
012 * either version 2.1 of the License, or (at your option) any later version.
013 *
014 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
015 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016 * See the GNU Lesser General Public License for more details.
017 *
018 * You should have received a copy of the GNU Lesser General Public License along with this
019 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
020 * Boston, MA 02111-1307, USA.
021 *
022 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
023 * in the United States and other countries.]
024 *
025 *
026 * ------------
027 * $Id: LoaderParameterKey.java 2713 2007-04-01 13:43:18Z taqua $
028 * ------------
029 * (C) Copyright 2006, by Pentaho Corporation.
030 */
031 package org.jfree.resourceloader;
032
033 import java.io.Serializable;
034
035 /**
036 * Creation-Date: 16.05.2006, 15:24:21
037 *
038 * @author Thomas Morgner
039 */
040 public final class LoaderParameterKey implements Serializable
041 {
042 private String name;
043 private transient int hashKey;
044
045 public LoaderParameterKey(final String name)
046 {
047 if (name == null)
048 {
049 throw new NullPointerException();
050 }
051 this.name = name;
052 }
053
054 public boolean equals(final Object o)
055 {
056 if (this == o)
057 {
058 return true;
059 }
060 if (o == null || getClass() != o.getClass())
061 {
062 return false;
063 }
064
065 final LoaderParameterKey that = (LoaderParameterKey) o;
066
067 if (!name.equals(that.name))
068 {
069 return false;
070 }
071
072 return true;
073 }
074
075 public int hashCode()
076 {
077 if (hashKey == 0)
078 {
079 hashKey = name.hashCode();
080 }
081 return hashKey;
082 }
083 }