001// -------------------------------------------------------------------------------- 002// Copyright 2002-2026 Echo Three, LLC 003// 004// Licensed under the Apache License, Version 2.0 (the "License"); 005// you may not use this file except in compliance with the License. 006// You may obtain a copy of the License at 007// 008// http://www.apache.org/licenses/LICENSE-2.0 009// 010// Unless required by applicable law or agreed to in writing, software 011// distributed under the License is distributed on an "AS IS" BASIS, 012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013// See the License for the specific language governing permissions and 014// limitations under the License. 015// -------------------------------------------------------------------------------- 016// Generated File -- DO NOT EDIT BY HAND 017// -------------------------------------------------------------------------------- 018 019/** 020 * LetterDetail.java 021 */ 022 023package com.echothree.model.data.letter.server.entity; 024 025import com.echothree.model.data.letter.common.pk.LetterDetailPK; 026 027import com.echothree.model.data.letter.common.pk.LetterPK; 028import com.echothree.model.data.chain.common.pk.ChainTypePK; 029import com.echothree.model.data.letter.common.pk.LetterSourcePK; 030import com.echothree.model.data.contactlist.common.pk.ContactListPK; 031 032import com.echothree.model.data.letter.server.entity.Letter; 033import com.echothree.model.data.chain.server.entity.ChainType; 034import com.echothree.model.data.letter.server.entity.LetterSource; 035import com.echothree.model.data.contactlist.server.entity.ContactList; 036 037import com.echothree.model.data.letter.server.factory.LetterFactory; 038import com.echothree.model.data.chain.server.factory.ChainTypeFactory; 039import com.echothree.model.data.letter.server.factory.LetterSourceFactory; 040import com.echothree.model.data.contactlist.server.factory.ContactListFactory; 041 042import com.echothree.model.data.letter.common.pk.LetterDetailPK; 043 044import com.echothree.model.data.letter.server.value.LetterDetailValue; 045 046import com.echothree.model.data.letter.server.factory.LetterDetailFactory; 047 048import com.echothree.util.common.exception.PersistenceException; 049import com.echothree.util.common.exception.PersistenceDatabaseException; 050import com.echothree.util.common.exception.PersistenceNotNullException; 051import com.echothree.util.common.exception.PersistenceReadOnlyException; 052 053import com.echothree.util.common.persistence.BasePK; 054 055import com.echothree.util.common.persistence.type.ByteArray; 056 057import com.echothree.util.server.persistence.BaseEntity; 058import com.echothree.util.server.persistence.EntityPermission; 059import com.echothree.util.server.persistence.Session; 060import com.echothree.util.server.persistence.ThreadSession; 061 062import java.io.Serializable; 063 064import javax.annotation.Nonnull; 065import javax.annotation.Nullable; 066 067public class LetterDetail 068 extends BaseEntity 069 implements Serializable { 070 071 private LetterDetailPK _pk; 072 private LetterDetailValue _value; 073 074 /** Creates a new instance of LetterDetail */ 075 public LetterDetail() 076 throws PersistenceException { 077 super(); 078 } 079 080 /** Creates a new instance of LetterDetail */ 081 public LetterDetail(LetterDetailValue value, EntityPermission entityPermission) { 082 super(entityPermission); 083 084 _value = value; 085 _pk = value.getPrimaryKey(); 086 } 087 088 @Override 089 @Nonnull 090 public LetterDetailFactory getBaseFactoryInstance() { 091 return LetterDetailFactory.getInstance(); 092 } 093 094 @Override 095 public boolean hasBeenModified() { 096 return _value.hasBeenModified(); 097 } 098 099 @Override 100 public int hashCode() { 101 return _pk.hashCode(); 102 } 103 104 @Override 105 @Nonnull 106 public String toString() { 107 return _pk.toString(); 108 } 109 110 @Override 111 public boolean equals(Object other) { 112 if(this == other) 113 return true; 114 115 if(other instanceof LetterDetail that) { 116 LetterDetailValue thatValue = that.getLetterDetailValue(); 117 return _value.equals(thatValue); 118 } else { 119 return false; 120 } 121 } 122 123 @Override 124 public void store() 125 throws PersistenceDatabaseException { 126 getBaseFactoryInstance().store(this); 127 } 128 129 @Override 130 public void remove() 131 throws PersistenceDatabaseException { 132 getBaseFactoryInstance().remove(this); 133 } 134 135 @Nonnull 136 public LetterDetailValue getLetterDetailValue() { 137 return _value; 138 } 139 140 public void setLetterDetailValue(@Nonnull LetterDetailValue value) 141 throws PersistenceReadOnlyException { 142 checkReadWrite(); 143 _value = value; 144 } 145 146 @Override 147 @Nonnull 148 public LetterDetailPK getPrimaryKey() { 149 return _pk; 150 } 151 152 @Nonnull 153 public LetterPK getLetterPK() { 154 return _value.getLetterPK(); 155 } 156 157 @Nonnull 158 public Letter getLetter(EntityPermission entityPermission) { 159 return LetterFactory.getInstance().getEntityFromPK(entityPermission, getLetterPK()); 160 } 161 162 @Nonnull 163 public Letter getLetter() { 164 return getLetter(EntityPermission.READ_ONLY); 165 } 166 167 @Nonnull 168 public Letter getLetterForUpdate() { 169 return getLetter(EntityPermission.READ_WRITE); 170 } 171 172 public void setLetterPK(@Nonnull LetterPK letterPK) 173 throws PersistenceNotNullException, PersistenceReadOnlyException { 174 checkReadWrite(); 175 _value.setLetterPK(letterPK); 176 } 177 178 public void setLetter(@Nonnull Letter entity) { 179 setLetterPK(entity == null ? null : entity.getPrimaryKey()); 180 } 181 182 public boolean getLetterPKHasBeenModified() { 183 return _value.getLetterPKHasBeenModified(); 184 } 185 186 @Nonnull 187 public ChainTypePK getChainTypePK() { 188 return _value.getChainTypePK(); 189 } 190 191 @Nonnull 192 public ChainType getChainType(EntityPermission entityPermission) { 193 return ChainTypeFactory.getInstance().getEntityFromPK(entityPermission, getChainTypePK()); 194 } 195 196 @Nonnull 197 public ChainType getChainType() { 198 return getChainType(EntityPermission.READ_ONLY); 199 } 200 201 @Nonnull 202 public ChainType getChainTypeForUpdate() { 203 return getChainType(EntityPermission.READ_WRITE); 204 } 205 206 public void setChainTypePK(@Nonnull ChainTypePK chainTypePK) 207 throws PersistenceNotNullException, PersistenceReadOnlyException { 208 checkReadWrite(); 209 _value.setChainTypePK(chainTypePK); 210 } 211 212 public void setChainType(@Nonnull ChainType entity) { 213 setChainTypePK(entity == null ? null : entity.getPrimaryKey()); 214 } 215 216 public boolean getChainTypePKHasBeenModified() { 217 return _value.getChainTypePKHasBeenModified(); 218 } 219 220 @Nonnull 221 public String getLetterName() { 222 return _value.getLetterName(); 223 } 224 225 public void setLetterName(@Nonnull String letterName) 226 throws PersistenceNotNullException, PersistenceReadOnlyException { 227 checkReadWrite(); 228 _value.setLetterName(letterName); 229 } 230 231 public boolean getLetterNameHasBeenModified() { 232 return _value.getLetterNameHasBeenModified(); 233 } 234 235 @Nonnull 236 public LetterSourcePK getLetterSourcePK() { 237 return _value.getLetterSourcePK(); 238 } 239 240 @Nonnull 241 public LetterSource getLetterSource(EntityPermission entityPermission) { 242 return LetterSourceFactory.getInstance().getEntityFromPK(entityPermission, getLetterSourcePK()); 243 } 244 245 @Nonnull 246 public LetterSource getLetterSource() { 247 return getLetterSource(EntityPermission.READ_ONLY); 248 } 249 250 @Nonnull 251 public LetterSource getLetterSourceForUpdate() { 252 return getLetterSource(EntityPermission.READ_WRITE); 253 } 254 255 public void setLetterSourcePK(@Nonnull LetterSourcePK letterSourcePK) 256 throws PersistenceNotNullException, PersistenceReadOnlyException { 257 checkReadWrite(); 258 _value.setLetterSourcePK(letterSourcePK); 259 } 260 261 public void setLetterSource(@Nonnull LetterSource entity) { 262 setLetterSourcePK(entity == null ? null : entity.getPrimaryKey()); 263 } 264 265 public boolean getLetterSourcePKHasBeenModified() { 266 return _value.getLetterSourcePKHasBeenModified(); 267 } 268 269 @Nullable 270 public ContactListPK getContactListPK() { 271 return _value.getContactListPK(); 272 } 273 274 @Nullable 275 public ContactList getContactList(EntityPermission entityPermission) { 276 ContactListPK pk = getContactListPK(); 277 ContactList entity = pk == null? null: ContactListFactory.getInstance().getEntityFromPK(entityPermission, pk); 278 279 return entity; 280 } 281 282 @Nullable 283 public ContactList getContactList() { 284 return getContactList(EntityPermission.READ_ONLY); 285 } 286 287 @Nullable 288 public ContactList getContactListForUpdate() { 289 return getContactList(EntityPermission.READ_WRITE); 290 } 291 292 public void setContactListPK(@Nullable ContactListPK contactListPK) 293 throws PersistenceNotNullException, PersistenceReadOnlyException { 294 checkReadWrite(); 295 _value.setContactListPK(contactListPK); 296 } 297 298 public void setContactList(@Nullable ContactList entity) { 299 setContactListPK(entity == null ? null : entity.getPrimaryKey()); 300 } 301 302 public boolean getContactListPKHasBeenModified() { 303 return _value.getContactListPKHasBeenModified(); 304 } 305 306 @Nonnull 307 public Boolean getIsDefault() { 308 return _value.getIsDefault(); 309 } 310 311 public void setIsDefault(@Nonnull Boolean isDefault) 312 throws PersistenceNotNullException, PersistenceReadOnlyException { 313 checkReadWrite(); 314 _value.setIsDefault(isDefault); 315 } 316 317 public boolean getIsDefaultHasBeenModified() { 318 return _value.getIsDefaultHasBeenModified(); 319 } 320 321 @Nonnull 322 public Integer getSortOrder() { 323 return _value.getSortOrder(); 324 } 325 326 public void setSortOrder(@Nonnull Integer sortOrder) 327 throws PersistenceNotNullException, PersistenceReadOnlyException { 328 checkReadWrite(); 329 _value.setSortOrder(sortOrder); 330 } 331 332 public boolean getSortOrderHasBeenModified() { 333 return _value.getSortOrderHasBeenModified(); 334 } 335 336 @Nonnull 337 public Long getFromTime() { 338 return _value.getFromTime(); 339 } 340 341 public void setFromTime(@Nonnull Long fromTime) 342 throws PersistenceNotNullException, PersistenceReadOnlyException { 343 checkReadWrite(); 344 _value.setFromTime(fromTime); 345 } 346 347 public boolean getFromTimeHasBeenModified() { 348 return _value.getFromTimeHasBeenModified(); 349 } 350 351 @Nonnull 352 public Long getThruTime() { 353 return _value.getThruTime(); 354 } 355 356 public void setThruTime(@Nonnull Long thruTime) 357 throws PersistenceNotNullException, PersistenceReadOnlyException { 358 checkReadWrite(); 359 _value.setThruTime(thruTime); 360 } 361 362 public boolean getThruTimeHasBeenModified() { 363 return _value.getThruTimeHasBeenModified(); 364 } 365 366}