| 1 21 22 package org.opensubsystems.core.data; 23 24 import java.sql.Timestamp ; 25 26 import org.opensubsystems.core.util.HashCodeUtils; 27 28 37 public abstract class ModifiableDataObject extends BasicDataObject 38 { 39 41 44 protected Timestamp m_modificationTimestamp; 45 46 48 51 public ModifiableDataObject( 52 ) 53 { 54 this(DataObject.NEW_ID); 55 } 56 57 62 public ModifiableDataObject( 63 int iDomainId 64 ) 65 { 66 this(DataObject.NEW_ID, iDomainId, null, null); 67 } 68 69 78 public ModifiableDataObject( 79 int iId, 80 int iDomainId, 81 Timestamp creationTimestamp, 82 Timestamp modificationTimestamp 83 ) 84 { 85 super(iId, iDomainId, creationTimestamp); 86 87 m_modificationTimestamp = modificationTimestamp; 88 } 89 90 92 97 public Timestamp getModificationTimestamp() 98 { 99 return m_modificationTimestamp; 100 } 101 102 107 public void setModificationTimestamp( 108 Timestamp modificationTimestamp 109 ) 110 { 111 m_modificationTimestamp = modificationTimestamp; 112 } 113 114 117 public boolean equals( 118 Object oObject 119 ) 120 { 121 boolean bReturn = false; 122 ModifiableDataObject helper; 123 124 if (oObject == this) 125 { 126 bReturn = true; 127 } 128 else if ((oObject != null) && (oObject instanceof ModifiableDataObject)) 129 { 130 helper = (ModifiableDataObject) oObject; 131 bReturn = (((m_modificationTimestamp == null) 132 && (helper.getModificationTimestamp() == null)) 133 || ((m_modificationTimestamp != null)) 134 && (m_modificationTimestamp.equals( 135 helper.getModificationTimestamp()))) 136 && (super.equals(oObject)); 137 } 138 139 return bReturn; 140 } 141 142 145 public int hashCode() 146 { 147 int iResult = HashCodeUtils.SEED; 148 if (m_modificationTimestamp != null) 149 { 150 iResult = HashCodeUtils.hash(iResult, m_modificationTimestamp.getTime()); 151 } 152 else 153 { 154 iResult = HashCodeUtils.hash(iResult, "null"); 155 } 156 iResult = HashCodeUtils.hash(iResult, super.hashCode()); 157 return iResult; 158 } 159 160 162 173 protected void restore( 174 int iId, 175 int iDomainId, 176 Timestamp creationTimestamp, 177 Timestamp modificationTimestamp 178 ) 179 { 180 super.restore(iId, iDomainId, creationTimestamp); 181 182 m_modificationTimestamp = modificationTimestamp; 183 } 184 } 185 | Popular Tags |