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 * InvoiceLineDetail.java 021 */ 022 023package com.echothree.model.data.invoice.server.entity; 024 025import com.echothree.model.data.invoice.common.pk.InvoiceLineDetailPK; 026 027import com.echothree.model.data.invoice.common.pk.InvoiceLinePK; 028import com.echothree.model.data.invoice.common.pk.InvoicePK; 029import com.echothree.model.data.invoice.common.pk.InvoiceLineTypePK; 030import com.echothree.model.data.invoice.common.pk.InvoiceLineUseTypePK; 031 032import com.echothree.model.data.invoice.server.entity.InvoiceLine; 033import com.echothree.model.data.invoice.server.entity.Invoice; 034import com.echothree.model.data.invoice.server.entity.InvoiceLineType; 035import com.echothree.model.data.invoice.server.entity.InvoiceLineUseType; 036 037import com.echothree.model.data.invoice.server.factory.InvoiceLineFactory; 038import com.echothree.model.data.invoice.server.factory.InvoiceFactory; 039import com.echothree.model.data.invoice.server.factory.InvoiceLineTypeFactory; 040import com.echothree.model.data.invoice.server.factory.InvoiceLineUseTypeFactory; 041 042import com.echothree.model.data.invoice.common.pk.InvoiceLineDetailPK; 043 044import com.echothree.model.data.invoice.server.value.InvoiceLineDetailValue; 045 046import com.echothree.model.data.invoice.server.factory.InvoiceLineDetailFactory; 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 InvoiceLineDetail 068 extends BaseEntity 069 implements Serializable { 070 071 private InvoiceLineDetailPK _pk; 072 private InvoiceLineDetailValue _value; 073 074 /** Creates a new instance of InvoiceLineDetail */ 075 public InvoiceLineDetail() 076 throws PersistenceException { 077 super(); 078 } 079 080 /** Creates a new instance of InvoiceLineDetail */ 081 public InvoiceLineDetail(InvoiceLineDetailValue value, EntityPermission entityPermission) { 082 super(entityPermission); 083 084 _value = value; 085 _pk = value.getPrimaryKey(); 086 } 087 088 @Override 089 @Nonnull 090 public InvoiceLineDetailFactory getBaseFactoryInstance() { 091 return InvoiceLineDetailFactory.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 InvoiceLineDetail that) { 116 InvoiceLineDetailValue thatValue = that.getInvoiceLineDetailValue(); 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 InvoiceLineDetailValue getInvoiceLineDetailValue() { 137 return _value; 138 } 139 140 public void setInvoiceLineDetailValue(@Nonnull InvoiceLineDetailValue value) 141 throws PersistenceReadOnlyException { 142 checkReadWrite(); 143 _value = value; 144 } 145 146 @Override 147 @Nonnull 148 public InvoiceLineDetailPK getPrimaryKey() { 149 return _pk; 150 } 151 152 @Nonnull 153 public InvoiceLinePK getInvoiceLinePK() { 154 return _value.getInvoiceLinePK(); 155 } 156 157 @Nonnull 158 public InvoiceLine getInvoiceLine(EntityPermission entityPermission) { 159 return InvoiceLineFactory.getInstance().getEntityFromPK(entityPermission, getInvoiceLinePK()); 160 } 161 162 @Nonnull 163 public InvoiceLine getInvoiceLine() { 164 return getInvoiceLine(EntityPermission.READ_ONLY); 165 } 166 167 @Nonnull 168 public InvoiceLine getInvoiceLineForUpdate() { 169 return getInvoiceLine(EntityPermission.READ_WRITE); 170 } 171 172 public void setInvoiceLinePK(@Nonnull InvoiceLinePK invoiceLinePK) 173 throws PersistenceNotNullException, PersistenceReadOnlyException { 174 checkReadWrite(); 175 _value.setInvoiceLinePK(invoiceLinePK); 176 } 177 178 public void setInvoiceLine(@Nonnull InvoiceLine entity) { 179 setInvoiceLinePK(entity == null ? null : entity.getPrimaryKey()); 180 } 181 182 public boolean getInvoiceLinePKHasBeenModified() { 183 return _value.getInvoiceLinePKHasBeenModified(); 184 } 185 186 @Nonnull 187 public InvoicePK getInvoicePK() { 188 return _value.getInvoicePK(); 189 } 190 191 @Nonnull 192 public Invoice getInvoice(EntityPermission entityPermission) { 193 return InvoiceFactory.getInstance().getEntityFromPK(entityPermission, getInvoicePK()); 194 } 195 196 @Nonnull 197 public Invoice getInvoice() { 198 return getInvoice(EntityPermission.READ_ONLY); 199 } 200 201 @Nonnull 202 public Invoice getInvoiceForUpdate() { 203 return getInvoice(EntityPermission.READ_WRITE); 204 } 205 206 public void setInvoicePK(@Nonnull InvoicePK invoicePK) 207 throws PersistenceNotNullException, PersistenceReadOnlyException { 208 checkReadWrite(); 209 _value.setInvoicePK(invoicePK); 210 } 211 212 public void setInvoice(@Nonnull Invoice entity) { 213 setInvoicePK(entity == null ? null : entity.getPrimaryKey()); 214 } 215 216 public boolean getInvoicePKHasBeenModified() { 217 return _value.getInvoicePKHasBeenModified(); 218 } 219 220 @Nonnull 221 public Integer getInvoiceLineSequence() { 222 return _value.getInvoiceLineSequence(); 223 } 224 225 public void setInvoiceLineSequence(@Nonnull Integer invoiceLineSequence) 226 throws PersistenceNotNullException, PersistenceReadOnlyException { 227 checkReadWrite(); 228 _value.setInvoiceLineSequence(invoiceLineSequence); 229 } 230 231 public boolean getInvoiceLineSequenceHasBeenModified() { 232 return _value.getInvoiceLineSequenceHasBeenModified(); 233 } 234 235 @Nullable 236 public InvoiceLinePK getParentInvoiceLinePK() { 237 return _value.getParentInvoiceLinePK(); 238 } 239 240 @Nullable 241 public InvoiceLine getParentInvoiceLine(EntityPermission entityPermission) { 242 InvoiceLinePK pk = getParentInvoiceLinePK(); 243 InvoiceLine entity = pk == null? null: InvoiceLineFactory.getInstance().getEntityFromPK(entityPermission, pk); 244 245 return entity; 246 } 247 248 @Nullable 249 public InvoiceLine getParentInvoiceLine() { 250 return getParentInvoiceLine(EntityPermission.READ_ONLY); 251 } 252 253 @Nullable 254 public InvoiceLine getParentInvoiceLineForUpdate() { 255 return getParentInvoiceLine(EntityPermission.READ_WRITE); 256 } 257 258 public void setParentInvoiceLinePK(@Nullable InvoiceLinePK parentInvoiceLinePK) 259 throws PersistenceNotNullException, PersistenceReadOnlyException { 260 checkReadWrite(); 261 _value.setParentInvoiceLinePK(parentInvoiceLinePK); 262 } 263 264 public void setParentInvoiceLine(@Nullable InvoiceLine entity) { 265 setParentInvoiceLinePK(entity == null ? null : entity.getPrimaryKey()); 266 } 267 268 public boolean getParentInvoiceLinePKHasBeenModified() { 269 return _value.getParentInvoiceLinePKHasBeenModified(); 270 } 271 272 @Nonnull 273 public InvoiceLineTypePK getInvoiceLineTypePK() { 274 return _value.getInvoiceLineTypePK(); 275 } 276 277 @Nonnull 278 public InvoiceLineType getInvoiceLineType(EntityPermission entityPermission) { 279 return InvoiceLineTypeFactory.getInstance().getEntityFromPK(entityPermission, getInvoiceLineTypePK()); 280 } 281 282 @Nonnull 283 public InvoiceLineType getInvoiceLineType() { 284 return getInvoiceLineType(EntityPermission.READ_ONLY); 285 } 286 287 @Nonnull 288 public InvoiceLineType getInvoiceLineTypeForUpdate() { 289 return getInvoiceLineType(EntityPermission.READ_WRITE); 290 } 291 292 public void setInvoiceLineTypePK(@Nonnull InvoiceLineTypePK invoiceLineTypePK) 293 throws PersistenceNotNullException, PersistenceReadOnlyException { 294 checkReadWrite(); 295 _value.setInvoiceLineTypePK(invoiceLineTypePK); 296 } 297 298 public void setInvoiceLineType(@Nonnull InvoiceLineType entity) { 299 setInvoiceLineTypePK(entity == null ? null : entity.getPrimaryKey()); 300 } 301 302 public boolean getInvoiceLineTypePKHasBeenModified() { 303 return _value.getInvoiceLineTypePKHasBeenModified(); 304 } 305 306 @Nonnull 307 public InvoiceLineUseTypePK getInvoiceLineUseTypePK() { 308 return _value.getInvoiceLineUseTypePK(); 309 } 310 311 @Nonnull 312 public InvoiceLineUseType getInvoiceLineUseType(EntityPermission entityPermission) { 313 return InvoiceLineUseTypeFactory.getInstance().getEntityFromPK(entityPermission, getInvoiceLineUseTypePK()); 314 } 315 316 @Nonnull 317 public InvoiceLineUseType getInvoiceLineUseType() { 318 return getInvoiceLineUseType(EntityPermission.READ_ONLY); 319 } 320 321 @Nonnull 322 public InvoiceLineUseType getInvoiceLineUseTypeForUpdate() { 323 return getInvoiceLineUseType(EntityPermission.READ_WRITE); 324 } 325 326 public void setInvoiceLineUseTypePK(@Nonnull InvoiceLineUseTypePK invoiceLineUseTypePK) 327 throws PersistenceNotNullException, PersistenceReadOnlyException { 328 checkReadWrite(); 329 _value.setInvoiceLineUseTypePK(invoiceLineUseTypePK); 330 } 331 332 public void setInvoiceLineUseType(@Nonnull InvoiceLineUseType entity) { 333 setInvoiceLineUseTypePK(entity == null ? null : entity.getPrimaryKey()); 334 } 335 336 public boolean getInvoiceLineUseTypePKHasBeenModified() { 337 return _value.getInvoiceLineUseTypePKHasBeenModified(); 338 } 339 340 @Nonnull 341 public Long getAmount() { 342 return _value.getAmount(); 343 } 344 345 public void setAmount(@Nonnull Long amount) 346 throws PersistenceNotNullException, PersistenceReadOnlyException { 347 checkReadWrite(); 348 _value.setAmount(amount); 349 } 350 351 public boolean getAmountHasBeenModified() { 352 return _value.getAmountHasBeenModified(); 353 } 354 355 @Nullable 356 public String getDescription() { 357 return _value.getDescription(); 358 } 359 360 public void setDescription(@Nullable String description) 361 throws PersistenceNotNullException, PersistenceReadOnlyException { 362 checkReadWrite(); 363 _value.setDescription(description); 364 } 365 366 public boolean getDescriptionHasBeenModified() { 367 return _value.getDescriptionHasBeenModified(); 368 } 369 370 @Nonnull 371 public Long getFromTime() { 372 return _value.getFromTime(); 373 } 374 375 public void setFromTime(@Nonnull Long fromTime) 376 throws PersistenceNotNullException, PersistenceReadOnlyException { 377 checkReadWrite(); 378 _value.setFromTime(fromTime); 379 } 380 381 public boolean getFromTimeHasBeenModified() { 382 return _value.getFromTimeHasBeenModified(); 383 } 384 385 @Nonnull 386 public Long getThruTime() { 387 return _value.getThruTime(); 388 } 389 390 public void setThruTime(@Nonnull Long thruTime) 391 throws PersistenceNotNullException, PersistenceReadOnlyException { 392 checkReadWrite(); 393 _value.setThruTime(thruTime); 394 } 395 396 public boolean getThruTimeHasBeenModified() { 397 return _value.getThruTimeHasBeenModified(); 398 } 399 400}