001// -------------------------------------------------------------------------------- 002// Copyright 2002-2025 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 * QueuedLetter.java 021 */ 022 023package com.echothree.model.data.letter.server.entity; 024 025import com.echothree.model.data.letter.common.pk.QueuedLetterPK; 026 027import com.echothree.model.data.chain.common.pk.ChainInstancePK; 028import com.echothree.model.data.letter.common.pk.LetterPK; 029 030import com.echothree.model.data.chain.server.entity.ChainInstance; 031import com.echothree.model.data.letter.server.entity.Letter; 032 033import com.echothree.model.data.chain.server.factory.ChainInstanceFactory; 034import com.echothree.model.data.letter.server.factory.LetterFactory; 035 036import com.echothree.model.data.letter.common.pk.QueuedLetterPK; 037 038import com.echothree.model.data.letter.server.value.QueuedLetterValue; 039 040import com.echothree.model.data.letter.server.factory.QueuedLetterFactory; 041 042import com.echothree.util.common.exception.PersistenceException; 043import com.echothree.util.common.exception.PersistenceDatabaseException; 044import com.echothree.util.common.exception.PersistenceNotNullException; 045import com.echothree.util.common.exception.PersistenceReadOnlyException; 046 047import com.echothree.util.common.persistence.BasePK; 048 049import com.echothree.util.common.persistence.type.ByteArray; 050 051import com.echothree.util.server.persistence.BaseEntity; 052import com.echothree.util.server.persistence.EntityPermission; 053import com.echothree.util.server.persistence.Session; 054import com.echothree.util.server.persistence.ThreadSession; 055 056import java.io.Serializable; 057 058public class QueuedLetter 059 extends BaseEntity 060 implements Serializable { 061 062 private QueuedLetterPK _pk; 063 private QueuedLetterValue _value; 064 065 /** Creates a new instance of QueuedLetter */ 066 public QueuedLetter() 067 throws PersistenceException { 068 super(); 069 } 070 071 /** Creates a new instance of QueuedLetter */ 072 public QueuedLetter(QueuedLetterValue value, EntityPermission entityPermission) { 073 super(entityPermission); 074 075 _value = value; 076 _pk = value.getPrimaryKey(); 077 } 078 079 @Override 080 public QueuedLetterFactory getBaseFactoryInstance() { 081 return QueuedLetterFactory.getInstance(); 082 } 083 084 @Override 085 public boolean hasBeenModified() { 086 return _value.hasBeenModified(); 087 } 088 089 @Override 090 public int hashCode() { 091 return _pk.hashCode(); 092 } 093 094 @Override 095 public String toString() { 096 return _pk.toString(); 097 } 098 099 @Override 100 public boolean equals(Object other) { 101 if(this == other) 102 return true; 103 104 if(other instanceof QueuedLetter that) { 105 QueuedLetterValue thatValue = that.getQueuedLetterValue(); 106 return _value.equals(thatValue); 107 } else { 108 return false; 109 } 110 } 111 112 @Override 113 public void store(Session session) 114 throws PersistenceDatabaseException { 115 getBaseFactoryInstance().store(session, this); 116 } 117 118 @Override 119 public void remove(Session session) 120 throws PersistenceDatabaseException { 121 getBaseFactoryInstance().remove(session, this); 122 } 123 124 @Override 125 public void remove() 126 throws PersistenceDatabaseException { 127 getBaseFactoryInstance().remove(ThreadSession.currentSession(), this); 128 } 129 130 public QueuedLetterValue getQueuedLetterValue() { 131 return _value; 132 } 133 134 public void setQueuedLetterValue(QueuedLetterValue value) 135 throws PersistenceReadOnlyException { 136 checkReadWrite(); 137 _value = value; 138 } 139 140 @Override 141 public QueuedLetterPK getPrimaryKey() { 142 return _pk; 143 } 144 145 public ChainInstancePK getChainInstancePK() { 146 return _value.getChainInstancePK(); 147 } 148 149 public ChainInstance getChainInstance(Session session, EntityPermission entityPermission) { 150 return ChainInstanceFactory.getInstance().getEntityFromPK(session, entityPermission, getChainInstancePK()); 151 } 152 153 public ChainInstance getChainInstance(EntityPermission entityPermission) { 154 return getChainInstance(ThreadSession.currentSession(), entityPermission); 155 } 156 157 public ChainInstance getChainInstance(Session session) { 158 return getChainInstance(session, EntityPermission.READ_ONLY); 159 } 160 161 public ChainInstance getChainInstance() { 162 return getChainInstance(ThreadSession.currentSession(), EntityPermission.READ_ONLY); 163 } 164 165 public ChainInstance getChainInstanceForUpdate(Session session) { 166 return getChainInstance(session, EntityPermission.READ_WRITE); 167 } 168 169 public ChainInstance getChainInstanceForUpdate() { 170 return getChainInstance(ThreadSession.currentSession(), EntityPermission.READ_WRITE); 171 } 172 173 public void setChainInstancePK(ChainInstancePK chainInstancePK) 174 throws PersistenceNotNullException, PersistenceReadOnlyException { 175 checkReadWrite(); 176 _value.setChainInstancePK(chainInstancePK); 177 } 178 179 public void setChainInstance(ChainInstance entity) { 180 setChainInstancePK(entity == null? null: entity.getPrimaryKey()); 181 } 182 183 public boolean getChainInstancePKHasBeenModified() { 184 return _value.getChainInstancePKHasBeenModified(); 185 } 186 187 public Integer getQueuedLetterSequence() { 188 return _value.getQueuedLetterSequence(); 189 } 190 191 public void setQueuedLetterSequence(Integer queuedLetterSequence) 192 throws PersistenceNotNullException, PersistenceReadOnlyException { 193 checkReadWrite(); 194 _value.setQueuedLetterSequence(queuedLetterSequence); 195 } 196 197 public boolean getQueuedLetterSequenceHasBeenModified() { 198 return _value.getQueuedLetterSequenceHasBeenModified(); 199 } 200 201 public LetterPK getLetterPK() { 202 return _value.getLetterPK(); 203 } 204 205 public Letter getLetter(Session session, EntityPermission entityPermission) { 206 return LetterFactory.getInstance().getEntityFromPK(session, entityPermission, getLetterPK()); 207 } 208 209 public Letter getLetter(EntityPermission entityPermission) { 210 return getLetter(ThreadSession.currentSession(), entityPermission); 211 } 212 213 public Letter getLetter(Session session) { 214 return getLetter(session, EntityPermission.READ_ONLY); 215 } 216 217 public Letter getLetter() { 218 return getLetter(ThreadSession.currentSession(), EntityPermission.READ_ONLY); 219 } 220 221 public Letter getLetterForUpdate(Session session) { 222 return getLetter(session, EntityPermission.READ_WRITE); 223 } 224 225 public Letter getLetterForUpdate() { 226 return getLetter(ThreadSession.currentSession(), EntityPermission.READ_WRITE); 227 } 228 229 public void setLetterPK(LetterPK letterPK) 230 throws PersistenceNotNullException, PersistenceReadOnlyException { 231 checkReadWrite(); 232 _value.setLetterPK(letterPK); 233 } 234 235 public void setLetter(Letter entity) { 236 setLetterPK(entity == null? null: entity.getPrimaryKey()); 237 } 238 239 public boolean getLetterPKHasBeenModified() { 240 return _value.getLetterPKHasBeenModified(); 241 } 242 243}