Java tutorial
/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate; /** * Raised whenever a duplicate for a certain type occurs. Duplicate class, table, property name etc. * * @author Max Rydahl Andersen * @author Steve Ebersole */ public class DuplicateMappingException extends MappingException { /** * Enumeration of the types of things that can be duplicated. */ public static enum Type { /** * A duplicate entity definition was encountered. */ ENTITY("entity"), /** * A duplicate collection role was encountered */ COLLECTION("collection"), /** * A duplicate table definition was encountered. */ TABLE("table"), /** * A duplicate property/attribute definition was encountered. */ PROPERTY("property"), /** * A duplicate column definition was encountered. */ COLUMN("column"), /** * A duplicate column definition was encountered. */ COLUMN_BINDING("column-binding"), /** * A duplicate named entity graph was encountered */ NAMED_ENTITY_GRAPH("NamedEntityGraph"), /** * A duplicate named query (ql or native) was encountered */ QUERY("query"), /** * A duplicate ResultSetMapping was encountered */ RESULT_SET_MAPPING("ResultSetMapping"), /** * A duplicate NamedStoredProcedureQuery was encountered */ PROCEDURE("NamedStoredProcedureQuery"); private final String text; Type(String text) { this.text = text; } } private final String name; private final String type; /** * Creates a DuplicateMappingException using the given type and name. * * @param type The type of the duplicated thing. * @param name The name of the duplicated thing. */ public DuplicateMappingException(Type type, String name) { this(type.text, name); } /** * Creates a DuplicateMappingException using the given type and name. * * @param type The type of the duplicated thing. * @param name The name of the duplicated thing. * * @deprecated Use the for taking {@link Type} instead. */ @Deprecated public DuplicateMappingException(String type, String name) { this("Duplicate " + type + " mapping " + name, type, name); } /** * Creates a DuplicateMappingException using the given customMessage, type and name. * * @param customMessage A custom exception message explaining the exception condition * @param type The type of the duplicated thing. * @param name The name of the duplicated thing. */ public DuplicateMappingException(String customMessage, Type type, String name) { this(customMessage, type.name(), name); } /** * Creates a DuplicateMappingException using the given customMessage, type and name. * * @param customMessage A custom exception message explaining the exception condition * @param type The type of the duplicated thing. * @param name The name of the duplicated thing. * * @deprecated Use the for taking {@link Type} instead. */ @Deprecated public DuplicateMappingException(String customMessage, String type, String name) { super(customMessage); this.type = type; this.name = name; } public String getType() { return type; } public String getName() { return name; } }