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 * InvoiceRole.java 021 */ 022 023package com.echothree.model.data.invoice.server.entity; 024 025import com.echothree.model.data.invoice.common.pk.InvoiceRolePK; 026 027import com.echothree.model.data.invoice.common.pk.InvoicePK; 028import com.echothree.model.data.party.common.pk.PartyPK; 029import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK; 030import com.echothree.model.data.invoice.common.pk.InvoiceRoleTypePK; 031 032import com.echothree.model.data.invoice.server.entity.Invoice; 033import com.echothree.model.data.party.server.entity.Party; 034import com.echothree.model.data.contact.server.entity.PartyContactMechanism; 035import com.echothree.model.data.invoice.server.entity.InvoiceRoleType; 036 037import com.echothree.model.data.invoice.server.factory.InvoiceFactory; 038import com.echothree.model.data.party.server.factory.PartyFactory; 039import com.echothree.model.data.contact.server.factory.PartyContactMechanismFactory; 040import com.echothree.model.data.invoice.server.factory.InvoiceRoleTypeFactory; 041 042import com.echothree.model.data.invoice.common.pk.InvoiceRolePK; 043 044import com.echothree.model.data.invoice.server.value.InvoiceRoleValue; 045 046import com.echothree.model.data.invoice.server.factory.InvoiceRoleFactory; 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 064public class InvoiceRole 065 extends BaseEntity 066 implements Serializable { 067 068 private InvoiceRolePK _pk; 069 private InvoiceRoleValue _value; 070 071 /** Creates a new instance of InvoiceRole */ 072 public InvoiceRole() 073 throws PersistenceException { 074 super(); 075 } 076 077 /** Creates a new instance of InvoiceRole */ 078 public InvoiceRole(InvoiceRoleValue value, EntityPermission entityPermission) { 079 super(entityPermission); 080 081 _value = value; 082 _pk = value.getPrimaryKey(); 083 } 084 085 @Override 086 public InvoiceRoleFactory getBaseFactoryInstance() { 087 return InvoiceRoleFactory.getInstance(); 088 } 089 090 @Override 091 public boolean hasBeenModified() { 092 return _value.hasBeenModified(); 093 } 094 095 @Override 096 public int hashCode() { 097 return _pk.hashCode(); 098 } 099 100 @Override 101 public String toString() { 102 return _pk.toString(); 103 } 104 105 @Override 106 public boolean equals(Object other) { 107 if(this == other) 108 return true; 109 110 if(other instanceof InvoiceRole that) { 111 InvoiceRoleValue thatValue = that.getInvoiceRoleValue(); 112 return _value.equals(thatValue); 113 } else { 114 return false; 115 } 116 } 117 118 @Override 119 public void store() 120 throws PersistenceDatabaseException { 121 getBaseFactoryInstance().store(this); 122 } 123 124 @Override 125 public void remove() 126 throws PersistenceDatabaseException { 127 getBaseFactoryInstance().remove(this); 128 } 129 130 public InvoiceRoleValue getInvoiceRoleValue() { 131 return _value; 132 } 133 134 public void setInvoiceRoleValue(InvoiceRoleValue value) 135 throws PersistenceReadOnlyException { 136 checkReadWrite(); 137 _value = value; 138 } 139 140 @Override 141 public InvoiceRolePK getPrimaryKey() { 142 return _pk; 143 } 144 145 public InvoicePK getInvoicePK() { 146 return _value.getInvoicePK(); 147 } 148 149 public Invoice getInvoice(EntityPermission entityPermission) { 150 return InvoiceFactory.getInstance().getEntityFromPK(entityPermission, getInvoicePK()); 151 } 152 153 public Invoice getInvoice() { 154 return getInvoice(EntityPermission.READ_ONLY); 155 } 156 157 public Invoice getInvoiceForUpdate() { 158 return getInvoice(EntityPermission.READ_WRITE); 159 } 160 161 public void setInvoicePK(InvoicePK invoicePK) 162 throws PersistenceNotNullException, PersistenceReadOnlyException { 163 checkReadWrite(); 164 _value.setInvoicePK(invoicePK); 165 } 166 167 public void setInvoice(Invoice entity) { 168 setInvoicePK(entity == null? null: entity.getPrimaryKey()); 169 } 170 171 public boolean getInvoicePKHasBeenModified() { 172 return _value.getInvoicePKHasBeenModified(); 173 } 174 175 public PartyPK getPartyPK() { 176 return _value.getPartyPK(); 177 } 178 179 public Party getParty(EntityPermission entityPermission) { 180 return PartyFactory.getInstance().getEntityFromPK(entityPermission, getPartyPK()); 181 } 182 183 public Party getParty() { 184 return getParty(EntityPermission.READ_ONLY); 185 } 186 187 public Party getPartyForUpdate() { 188 return getParty(EntityPermission.READ_WRITE); 189 } 190 191 public void setPartyPK(PartyPK partyPK) 192 throws PersistenceNotNullException, PersistenceReadOnlyException { 193 checkReadWrite(); 194 _value.setPartyPK(partyPK); 195 } 196 197 public void setParty(Party entity) { 198 setPartyPK(entity == null? null: entity.getPrimaryKey()); 199 } 200 201 public boolean getPartyPKHasBeenModified() { 202 return _value.getPartyPKHasBeenModified(); 203 } 204 205 public PartyContactMechanismPK getPartyContactMechanismPK() { 206 return _value.getPartyContactMechanismPK(); 207 } 208 209 public PartyContactMechanism getPartyContactMechanism(EntityPermission entityPermission) { 210 return PartyContactMechanismFactory.getInstance().getEntityFromPK(entityPermission, getPartyContactMechanismPK()); 211 } 212 213 public PartyContactMechanism getPartyContactMechanism() { 214 return getPartyContactMechanism(EntityPermission.READ_ONLY); 215 } 216 217 public PartyContactMechanism getPartyContactMechanismForUpdate() { 218 return getPartyContactMechanism(EntityPermission.READ_WRITE); 219 } 220 221 public void setPartyContactMechanismPK(PartyContactMechanismPK partyContactMechanismPK) 222 throws PersistenceNotNullException, PersistenceReadOnlyException { 223 checkReadWrite(); 224 _value.setPartyContactMechanismPK(partyContactMechanismPK); 225 } 226 227 public void setPartyContactMechanism(PartyContactMechanism entity) { 228 setPartyContactMechanismPK(entity == null? null: entity.getPrimaryKey()); 229 } 230 231 public boolean getPartyContactMechanismPKHasBeenModified() { 232 return _value.getPartyContactMechanismPKHasBeenModified(); 233 } 234 235 public InvoiceRoleTypePK getInvoiceRoleTypePK() { 236 return _value.getInvoiceRoleTypePK(); 237 } 238 239 public InvoiceRoleType getInvoiceRoleType(EntityPermission entityPermission) { 240 return InvoiceRoleTypeFactory.getInstance().getEntityFromPK(entityPermission, getInvoiceRoleTypePK()); 241 } 242 243 public InvoiceRoleType getInvoiceRoleType() { 244 return getInvoiceRoleType(EntityPermission.READ_ONLY); 245 } 246 247 public InvoiceRoleType getInvoiceRoleTypeForUpdate() { 248 return getInvoiceRoleType(EntityPermission.READ_WRITE); 249 } 250 251 public void setInvoiceRoleTypePK(InvoiceRoleTypePK invoiceRoleTypePK) 252 throws PersistenceNotNullException, PersistenceReadOnlyException { 253 checkReadWrite(); 254 _value.setInvoiceRoleTypePK(invoiceRoleTypePK); 255 } 256 257 public void setInvoiceRoleType(InvoiceRoleType entity) { 258 setInvoiceRoleTypePK(entity == null? null: entity.getPrimaryKey()); 259 } 260 261 public boolean getInvoiceRoleTypePKHasBeenModified() { 262 return _value.getInvoiceRoleTypePKHasBeenModified(); 263 } 264 265 public Long getFromTime() { 266 return _value.getFromTime(); 267 } 268 269 public void setFromTime(Long fromTime) 270 throws PersistenceNotNullException, PersistenceReadOnlyException { 271 checkReadWrite(); 272 _value.setFromTime(fromTime); 273 } 274 275 public boolean getFromTimeHasBeenModified() { 276 return _value.getFromTimeHasBeenModified(); 277 } 278 279 public Long getThruTime() { 280 return _value.getThruTime(); 281 } 282 283 public void setThruTime(Long thruTime) 284 throws PersistenceNotNullException, PersistenceReadOnlyException { 285 checkReadWrite(); 286 _value.setThruTime(thruTime); 287 } 288 289 public boolean getThruTimeHasBeenModified() { 290 return _value.getThruTimeHasBeenModified(); 291 } 292 293}