1 23 24 27 28 package com.sun.jdo.spi.persistence.support.sqlstore.state; 29 30 import com.sun.jdo.spi.persistence.utility.I18NHelper; 31 import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; 32 33 import java.util.ResourceBundle ; 34 35 36 public class Hollow extends LifeCycleState { 37 40 private final static ResourceBundle messages = I18NHelper.loadBundle( 41 "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", Hollow.class.getClassLoader()); 43 44 public Hollow() { 45 isPersistent = true; 50 isPersistentInDataStore = true; 51 isTransactional = false; 52 isDirty = false; 53 isNew = false; 54 isDeleted = false; 55 isBeforeImageUpdatable = false; 56 isRefreshable = false; 57 needsRegister = false; 58 needsReload = true; 59 needsRestoreOnRollback = false; 60 updateAction = ActionDesc.LOG_NOOP; 61 62 stateType = HOLLOW; 63 } 64 65 68 public LifeCycleState transitionDeletePersistent() { 69 return changeState(P_DELETED); 70 } 71 72 public LifeCycleState transitionReadField(boolean optimistic, boolean nontransactionalRead, 73 boolean transactionActive) { 74 if (!nontransactionalRead) { 75 assertTransaction(transactionActive); 76 } 77 78 if (optimistic || (nontransactionalRead && !transactionActive)) { 79 return changeState(P_NON_TX); 80 } else { 81 return changeState(P_CLEAN); 82 } 83 } 84 85 public LifeCycleState transitionWriteField(boolean transactionActive) { 86 assertTransaction(transactionActive); 87 return changeState(P_DIRTY); 88 } 89 90 public boolean needsReload(boolean optimistic, 91 boolean nontransactionalRead, 92 boolean transactionActive) { 93 if (!transactionActive && !nontransactionalRead) { 98 return false; 99 } 100 101 return true; 102 } 103 104 } 105 106 107 108 109 110 111 112 113 114 | Popular Tags |