01: //$Id: PropertyValueException.java 5685 2005-02-12 07:19:50Z steveebersole $
02: package org.hibernate;
03:
04: import org.hibernate.util.StringHelper;
05:
06: /**
07: * Thrown when the (illegal) value of a property can not be persisted.
08: * There are two main causes:
09: * <ul>
10: * <li>a property declared <tt>not-null="true"</tt> is null
11: * <li>an association references an unsaved transient instance
12: * </ul>
13: * @author Gavin King
14: */
15: public class PropertyValueException extends HibernateException {
16:
17: private final String entityName;
18: private final String propertyName;
19:
20: public PropertyValueException(String s, String entityName,
21: String propertyName) {
22: super (s);
23: this .entityName = entityName;
24: this .propertyName = propertyName;
25: }
26:
27: public String getEntityName() {
28: return entityName;
29: }
30:
31: public String getPropertyName() {
32: return propertyName;
33: }
34:
35: public String getMessage() {
36: return super .getMessage() + ": "
37: + StringHelper.qualify(entityName, propertyName);
38: }
39:
40: /**
41: * Return a well formed property path.
42: * Basicaly, it will return parent.child
43: *
44: * @param parent parent in path
45: * @param child child in path
46: * @return parent-child path
47: */
48: public static String buildPropertyPath(String parent, String child) {
49: return new StringBuffer(parent).append('.').append(child)
50: .toString();
51: }
52: }
|