01: //$Id: StaleObjectStateException.java 5685 2005-02-12 07:19:50Z steveebersole $
02: package org.hibernate;
03:
04: import java.io.Serializable;
05:
06: import org.hibernate.pretty.MessageHelper;
07:
08: /**
09: * A <tt>StaleStateException</tt> that carries information
10: * about a particular entity instance that was the source
11: * of the failure.
12: *
13: * @author Gavin King
14: */
15: public class StaleObjectStateException extends StaleStateException {
16: private final String entityName;
17: private final Serializable identifier;
18:
19: public StaleObjectStateException(String persistentClass,
20: Serializable identifier) {
21: super (
22: "Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)");
23: this .entityName = persistentClass;
24: this .identifier = identifier;
25: }
26:
27: public String getEntityName() {
28: return entityName;
29: }
30:
31: public Serializable getIdentifier() {
32: return identifier;
33: }
34:
35: public String getMessage() {
36: return super .getMessage() + ": "
37: + MessageHelper.infoString(entityName, identifier);
38: }
39:
40: }
|