1 22 package org.jboss.ejb.plugins.cmp.jdbc; 23 24 import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMPFieldBridge; 25 import org.jboss.ejb.EntityEnterpriseContext; 26 27 31 public interface LockingStrategy 32 { 33 LockingStrategy VERSION = new AbstractStrategy() 34 { 35 public void loaded(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 36 { 37 field.lockInstanceValue(ctx); 38 } 39 }; 40 41 LockingStrategy GROUP = new AbstractStrategy() 42 { 43 public void loaded(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 44 { 45 field.lockInstanceValue(ctx); 46 } 47 }; 48 49 LockingStrategy READ = new AbstractStrategy() 50 { 51 public void accessed(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 52 { 53 field.lockInstanceValue(ctx); 54 } 55 56 public void changed(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 57 { 58 field.lockInstanceValue(ctx); 59 } 60 }; 61 62 LockingStrategy MODIFIED = new AbstractStrategy() 63 { 64 public void changed(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 65 { 66 field.lockInstanceValue(ctx); 67 } 68 }; 69 70 LockingStrategy NONE = new AbstractStrategy(){}; 71 72 class AbstractStrategy implements LockingStrategy 73 { 74 public void loaded(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 75 { 76 } 77 78 public void accessed(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 79 { 80 } 81 82 public void changed(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx) 83 { 84 } 85 } 86 87 void loaded(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx); 88 void accessed(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx); 89 void changed(JDBCCMPFieldBridge field, EntityEnterpriseContext ctx); 90 } 91 | Popular Tags |