Coverage Summary for Class: PersistableObject (net.sf.persism)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| PersistableObject | 100% (1/1) | 100% (4/4) | 71.4% (5/7) |
1 package net.sf.persism; 2 3 import net.sf.persism.annotations.NotColumn; 4 5 /** 6 * Persism uses information from this class to detect which properties are modified in your data objects and only 7 * includes those columns in the SQL UPDATE statements. Data objects can optionally inherit from this class. 8 * 9 * @author Dan Howard 10 * @since 9/15/11 7:14 AM 11 */ 12 public abstract class PersistableObject<T> implements Persistable<T> { 13 14 @NotColumn 15 private T persismOriginalValue = null; 16 17 @Override 18 public final void saveReadState() throws PersismException { 19 persismOriginalValue = clone(); 20 } 21 22 @Override 23 public final T readOriginalValue() { 24 return persismOriginalValue; 25 } 26 27 /** 28 * Used by saveReadState for persismOriginalValue 29 * 30 * @return Clone of T 31 */ 32 @Override 33 public final T clone() { 34 try { 35 return (T) super.clone(); 36 } catch (CloneNotSupportedException e) { 37 throw new PersismException(e.getMessage(), e); 38 } 39 } 40 }