/* * Copyright 2010 Udai Gupta, Ralf Joachim * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.castor.cpa.test.test85; import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.junit.Ignore; @Ignore public final class KindEnumStyleClassDiffName implements Cloneable, Comparable<KindEnumStyleClassDiffName>, Serializable { //------------------------------------------------------------------------ /** SerialVersionUID */ private static final long serialVersionUID = -4999799304409658395L; private static final Map<String, KindEnumStyleClassDiffName> KINDS = new HashMap<String, KindEnumStyleClassDiffName>(); public static final KindEnumStyleClassDiffName MOUSE = new KindEnumStyleClassDiffName("MOUSE", "Maus"); public static final KindEnumStyleClassDiffName KEYBOARD = new KindEnumStyleClassDiffName("KEYBOARD", "Tastatur"); public static final KindEnumStyleClassDiffName COMPUTER = new KindEnumStyleClassDiffName("COMPUTER", "Computer"); public static final KindEnumStyleClassDiffName PRINTER = new KindEnumStyleClassDiffName("PRINTER", "Drucker"); public static final KindEnumStyleClassDiffName MONITOR = new KindEnumStyleClassDiffName("MONITOR", "Bildschirm"); private final String _name; private final String _translation; //------------------------------------------------------------------------ private KindEnumStyleClassDiffName(final String name, final String translation) { _name = name; _translation = translation; KINDS.put(name, this); } public static KindEnumStyleClassDiffName valueOf(final String name) { return KINDS.get(name); } public static Iterator<KindEnumStyleClassDiffName> iterator() { return KINDS.values().iterator(); } //------------------------------------------------------------------------ /** * Returns the String representation of this kind. * * @return String representation of this kind. */ public String name() { return _name; } /** * Returns the String representation of this kind. * * @return String representation of this kind. */ public String toString() { return _translation; } /** * Clone only returns the one and only instance of this kind. * * @return The original instance. */ public Object clone() { return this; } /** * Returns if the specified object and this are one and the same instance. * * @param other Object to be compared with this instance. * @return <code>true</code> if other equals this else <code>false</code>. */ public boolean equals(final Object other) { return (this == other); } /** * Returns the hash code of this object. * * @return Hash code of this object. */ public int hashCode() { return _name.hashCode(); } /** * Compares {@link #_name} against {@link #_name} of the specified * object. So this method is inconsistent with {@link #equals}. * * @param other Object to be compared with this instance. * @return A negative integer, zero, or a positive integer as this object * is less than, equal to, or greater than the specified object. */ public int compareTo(final KindEnumStyleClassDiffName other) { return _name.compareTo(other._name); } /** * Called during deserialization. * * @return The existing instance of the enum. <br>So you can use '==' * like 'equals' even if you use a deserialized Enum. */ protected Object readResolve() { return KINDS.get(_name); } //------------------------------------------------------------------------ }