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 * BillingAccountRole.java 021 */ 022 023package com.echothree.model.data.payment.server.entity; 024 025import com.echothree.model.data.payment.common.pk.BillingAccountRolePK; 026 027import com.echothree.model.data.payment.common.pk.BillingAccountPK; 028import com.echothree.model.data.party.common.pk.PartyPK; 029import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK; 030import com.echothree.model.data.payment.common.pk.BillingAccountRoleTypePK; 031 032import com.echothree.model.data.payment.server.entity.BillingAccount; 033import com.echothree.model.data.party.server.entity.Party; 034import com.echothree.model.data.contact.server.entity.PartyContactMechanism; 035import com.echothree.model.data.payment.server.entity.BillingAccountRoleType; 036 037import com.echothree.model.data.payment.server.factory.BillingAccountFactory; 038import com.echothree.model.data.party.server.factory.PartyFactory; 039import com.echothree.model.data.contact.server.factory.PartyContactMechanismFactory; 040import com.echothree.model.data.payment.server.factory.BillingAccountRoleTypeFactory; 041 042import com.echothree.model.data.payment.common.pk.BillingAccountRolePK; 043 044import com.echothree.model.data.payment.server.value.BillingAccountRoleValue; 045 046import com.echothree.model.data.payment.server.factory.BillingAccountRoleFactory; 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 BillingAccountRole 065 extends BaseEntity 066 implements Serializable { 067 068 private BillingAccountRolePK _pk; 069 private BillingAccountRoleValue _value; 070 071 /** Creates a new instance of BillingAccountRole */ 072 public BillingAccountRole() 073 throws PersistenceException { 074 super(); 075 } 076 077 /** Creates a new instance of BillingAccountRole */ 078 public BillingAccountRole(BillingAccountRoleValue value, EntityPermission entityPermission) { 079 super(entityPermission); 080 081 _value = value; 082 _pk = value.getPrimaryKey(); 083 } 084 085 @Override 086 public BillingAccountRoleFactory getBaseFactoryInstance() { 087 return BillingAccountRoleFactory.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 BillingAccountRole that) { 111 BillingAccountRoleValue thatValue = that.getBillingAccountRoleValue(); 112 return _value.equals(thatValue); 113 } else { 114 return false; 115 } 116 } 117 118 @Override 119 public void store(Session session) 120 throws PersistenceDatabaseException { 121 getBaseFactoryInstance().store(session, this); 122 } 123 124 @Override 125 public void remove(Session session) 126 throws PersistenceDatabaseException { 127 getBaseFactoryInstance().remove(session, this); 128 } 129 130 @Override 131 public void remove() 132 throws PersistenceDatabaseException { 133 getBaseFactoryInstance().remove(ThreadSession.currentSession(), this); 134 } 135 136 public BillingAccountRoleValue getBillingAccountRoleValue() { 137 return _value; 138 } 139 140 public void setBillingAccountRoleValue(BillingAccountRoleValue value) 141 throws PersistenceReadOnlyException { 142 checkReadWrite(); 143 _value = value; 144 } 145 146 @Override 147 public BillingAccountRolePK getPrimaryKey() { 148 return _pk; 149 } 150 151 public BillingAccountPK getBillingAccountPK() { 152 return _value.getBillingAccountPK(); 153 } 154 155 public BillingAccount getBillingAccount(Session session, EntityPermission entityPermission) { 156 return BillingAccountFactory.getInstance().getEntityFromPK(session, entityPermission, getBillingAccountPK()); 157 } 158 159 public BillingAccount getBillingAccount(EntityPermission entityPermission) { 160 return getBillingAccount(ThreadSession.currentSession(), entityPermission); 161 } 162 163 public BillingAccount getBillingAccount(Session session) { 164 return getBillingAccount(session, EntityPermission.READ_ONLY); 165 } 166 167 public BillingAccount getBillingAccount() { 168 return getBillingAccount(ThreadSession.currentSession(), EntityPermission.READ_ONLY); 169 } 170 171 public BillingAccount getBillingAccountForUpdate(Session session) { 172 return getBillingAccount(session, EntityPermission.READ_WRITE); 173 } 174 175 public BillingAccount getBillingAccountForUpdate() { 176 return getBillingAccount(ThreadSession.currentSession(), EntityPermission.READ_WRITE); 177 } 178 179 public void setBillingAccountPK(BillingAccountPK billingAccountPK) 180 throws PersistenceNotNullException, PersistenceReadOnlyException { 181 checkReadWrite(); 182 _value.setBillingAccountPK(billingAccountPK); 183 } 184 185 public void setBillingAccount(BillingAccount entity) { 186 setBillingAccountPK(entity == null? null: entity.getPrimaryKey()); 187 } 188 189 public boolean getBillingAccountPKHasBeenModified() { 190 return _value.getBillingAccountPKHasBeenModified(); 191 } 192 193 public PartyPK getPartyPK() { 194 return _value.getPartyPK(); 195 } 196 197 public Party getParty(Session session, EntityPermission entityPermission) { 198 return PartyFactory.getInstance().getEntityFromPK(session, entityPermission, getPartyPK()); 199 } 200 201 public Party getParty(EntityPermission entityPermission) { 202 return getParty(ThreadSession.currentSession(), entityPermission); 203 } 204 205 public Party getParty(Session session) { 206 return getParty(session, EntityPermission.READ_ONLY); 207 } 208 209 public Party getParty() { 210 return getParty(ThreadSession.currentSession(), EntityPermission.READ_ONLY); 211 } 212 213 public Party getPartyForUpdate(Session session) { 214 return getParty(session, EntityPermission.READ_WRITE); 215 } 216 217 public Party getPartyForUpdate() { 218 return getParty(ThreadSession.currentSession(), EntityPermission.READ_WRITE); 219 } 220 221 public void setPartyPK(PartyPK partyPK) 222 throws PersistenceNotNullException, PersistenceReadOnlyException { 223 checkReadWrite(); 224 _value.setPartyPK(partyPK); 225 } 226 227 public void setParty(Party entity) { 228 setPartyPK(entity == null? null: entity.getPrimaryKey()); 229 } 230 231 public boolean getPartyPKHasBeenModified() { 232 return _value.getPartyPKHasBeenModified(); 233 } 234 235 public PartyContactMechanismPK getPartyContactMechanismPK() { 236 return _value.getPartyContactMechanismPK(); 237 } 238 239 public PartyContactMechanism getPartyContactMechanism(Session session, EntityPermission entityPermission) { 240 return PartyContactMechanismFactory.getInstance().getEntityFromPK(session, entityPermission, getPartyContactMechanismPK()); 241 } 242 243 public PartyContactMechanism getPartyContactMechanism(EntityPermission entityPermission) { 244 return getPartyContactMechanism(ThreadSession.currentSession(), entityPermission); 245 } 246 247 public PartyContactMechanism getPartyContactMechanism(Session session) { 248 return getPartyContactMechanism(session, EntityPermission.READ_ONLY); 249 } 250 251 public PartyContactMechanism getPartyContactMechanism() { 252 return getPartyContactMechanism(ThreadSession.currentSession(), EntityPermission.READ_ONLY); 253 } 254 255 public PartyContactMechanism getPartyContactMechanismForUpdate(Session session) { 256 return getPartyContactMechanism(session, EntityPermission.READ_WRITE); 257 } 258 259 public PartyContactMechanism getPartyContactMechanismForUpdate() { 260 return getPartyContactMechanism(ThreadSession.currentSession(), EntityPermission.READ_WRITE); 261 } 262 263 public void setPartyContactMechanismPK(PartyContactMechanismPK partyContactMechanismPK) 264 throws PersistenceNotNullException, PersistenceReadOnlyException { 265 checkReadWrite(); 266 _value.setPartyContactMechanismPK(partyContactMechanismPK); 267 } 268 269 public void setPartyContactMechanism(PartyContactMechanism entity) { 270 setPartyContactMechanismPK(entity == null? null: entity.getPrimaryKey()); 271 } 272 273 public boolean getPartyContactMechanismPKHasBeenModified() { 274 return _value.getPartyContactMechanismPKHasBeenModified(); 275 } 276 277 public BillingAccountRoleTypePK getBillingAccountRoleTypePK() { 278 return _value.getBillingAccountRoleTypePK(); 279 } 280 281 public BillingAccountRoleType getBillingAccountRoleType(Session session, EntityPermission entityPermission) { 282 return BillingAccountRoleTypeFactory.getInstance().getEntityFromPK(session, entityPermission, getBillingAccountRoleTypePK()); 283 } 284 285 public BillingAccountRoleType getBillingAccountRoleType(EntityPermission entityPermission) { 286 return getBillingAccountRoleType(ThreadSession.currentSession(), entityPermission); 287 } 288 289 public BillingAccountRoleType getBillingAccountRoleType(Session session) { 290 return getBillingAccountRoleType(session, EntityPermission.READ_ONLY); 291 } 292 293 public BillingAccountRoleType getBillingAccountRoleType() { 294 return getBillingAccountRoleType(ThreadSession.currentSession(), EntityPermission.READ_ONLY); 295 } 296 297 public BillingAccountRoleType getBillingAccountRoleTypeForUpdate(Session session) { 298 return getBillingAccountRoleType(session, EntityPermission.READ_WRITE); 299 } 300 301 public BillingAccountRoleType getBillingAccountRoleTypeForUpdate() { 302 return getBillingAccountRoleType(ThreadSession.currentSession(), EntityPermission.READ_WRITE); 303 } 304 305 public void setBillingAccountRoleTypePK(BillingAccountRoleTypePK billingAccountRoleTypePK) 306 throws PersistenceNotNullException, PersistenceReadOnlyException { 307 checkReadWrite(); 308 _value.setBillingAccountRoleTypePK(billingAccountRoleTypePK); 309 } 310 311 public void setBillingAccountRoleType(BillingAccountRoleType entity) { 312 setBillingAccountRoleTypePK(entity == null? null: entity.getPrimaryKey()); 313 } 314 315 public boolean getBillingAccountRoleTypePKHasBeenModified() { 316 return _value.getBillingAccountRoleTypePKHasBeenModified(); 317 } 318 319 public Long getFromTime() { 320 return _value.getFromTime(); 321 } 322 323 public void setFromTime(Long fromTime) 324 throws PersistenceNotNullException, PersistenceReadOnlyException { 325 checkReadWrite(); 326 _value.setFromTime(fromTime); 327 } 328 329 public boolean getFromTimeHasBeenModified() { 330 return _value.getFromTimeHasBeenModified(); 331 } 332 333 public Long getThruTime() { 334 return _value.getThruTime(); 335 } 336 337 public void setThruTime(Long thruTime) 338 throws PersistenceNotNullException, PersistenceReadOnlyException { 339 checkReadWrite(); 340 _value.setThruTime(thruTime); 341 } 342 343 public boolean getThruTimeHasBeenModified() { 344 return _value.getThruTimeHasBeenModified(); 345 } 346 347}