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 * BillingAccountDetail.java 021 */ 022 023package com.echothree.model.data.payment.server.entity; 024 025import com.echothree.model.data.payment.common.pk.BillingAccountDetailPK; 026 027import com.echothree.model.data.payment.common.pk.BillingAccountPK; 028import com.echothree.model.data.accounting.common.pk.CurrencyPK; 029 030import com.echothree.model.data.payment.server.entity.BillingAccount; 031import com.echothree.model.data.accounting.server.entity.Currency; 032 033import com.echothree.model.data.payment.server.factory.BillingAccountFactory; 034import com.echothree.model.data.accounting.server.factory.CurrencyFactory; 035 036import com.echothree.model.data.payment.common.pk.BillingAccountDetailPK; 037 038import com.echothree.model.data.payment.server.value.BillingAccountDetailValue; 039 040import com.echothree.model.data.payment.server.factory.BillingAccountDetailFactory; 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 BillingAccountDetail 059 extends BaseEntity 060 implements Serializable { 061 062 private BillingAccountDetailPK _pk; 063 private BillingAccountDetailValue _value; 064 065 /** Creates a new instance of BillingAccountDetail */ 066 public BillingAccountDetail() 067 throws PersistenceException { 068 super(); 069 } 070 071 /** Creates a new instance of BillingAccountDetail */ 072 public BillingAccountDetail(BillingAccountDetailValue value, EntityPermission entityPermission) { 073 super(entityPermission); 074 075 _value = value; 076 _pk = value.getPrimaryKey(); 077 } 078 079 @Override 080 public BillingAccountDetailFactory getBaseFactoryInstance() { 081 return BillingAccountDetailFactory.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 BillingAccountDetail that) { 105 BillingAccountDetailValue thatValue = that.getBillingAccountDetailValue(); 106 return _value.equals(thatValue); 107 } else { 108 return false; 109 } 110 } 111 112 @Override 113 public void store() 114 throws PersistenceDatabaseException { 115 getBaseFactoryInstance().store(this); 116 } 117 118 @Override 119 public void remove() 120 throws PersistenceDatabaseException { 121 getBaseFactoryInstance().remove(this); 122 } 123 124 public BillingAccountDetailValue getBillingAccountDetailValue() { 125 return _value; 126 } 127 128 public void setBillingAccountDetailValue(BillingAccountDetailValue value) 129 throws PersistenceReadOnlyException { 130 checkReadWrite(); 131 _value = value; 132 } 133 134 @Override 135 public BillingAccountDetailPK getPrimaryKey() { 136 return _pk; 137 } 138 139 public BillingAccountPK getBillingAccountPK() { 140 return _value.getBillingAccountPK(); 141 } 142 143 public BillingAccount getBillingAccount(EntityPermission entityPermission) { 144 return BillingAccountFactory.getInstance().getEntityFromPK(entityPermission, getBillingAccountPK()); 145 } 146 147 public BillingAccount getBillingAccount() { 148 return getBillingAccount(EntityPermission.READ_ONLY); 149 } 150 151 public BillingAccount getBillingAccountForUpdate() { 152 return getBillingAccount(EntityPermission.READ_WRITE); 153 } 154 155 public void setBillingAccountPK(BillingAccountPK billingAccountPK) 156 throws PersistenceNotNullException, PersistenceReadOnlyException { 157 checkReadWrite(); 158 _value.setBillingAccountPK(billingAccountPK); 159 } 160 161 public void setBillingAccount(BillingAccount entity) { 162 setBillingAccountPK(entity == null? null: entity.getPrimaryKey()); 163 } 164 165 public boolean getBillingAccountPKHasBeenModified() { 166 return _value.getBillingAccountPKHasBeenModified(); 167 } 168 169 public String getBillingAccountName() { 170 return _value.getBillingAccountName(); 171 } 172 173 public void setBillingAccountName(String billingAccountName) 174 throws PersistenceNotNullException, PersistenceReadOnlyException { 175 checkReadWrite(); 176 _value.setBillingAccountName(billingAccountName); 177 } 178 179 public boolean getBillingAccountNameHasBeenModified() { 180 return _value.getBillingAccountNameHasBeenModified(); 181 } 182 183 public CurrencyPK getCurrencyPK() { 184 return _value.getCurrencyPK(); 185 } 186 187 public Currency getCurrency(EntityPermission entityPermission) { 188 return CurrencyFactory.getInstance().getEntityFromPK(entityPermission, getCurrencyPK()); 189 } 190 191 public Currency getCurrency() { 192 return getCurrency(EntityPermission.READ_ONLY); 193 } 194 195 public Currency getCurrencyForUpdate() { 196 return getCurrency(EntityPermission.READ_WRITE); 197 } 198 199 public void setCurrencyPK(CurrencyPK currencyPK) 200 throws PersistenceNotNullException, PersistenceReadOnlyException { 201 checkReadWrite(); 202 _value.setCurrencyPK(currencyPK); 203 } 204 205 public void setCurrency(Currency entity) { 206 setCurrencyPK(entity == null? null: entity.getPrimaryKey()); 207 } 208 209 public boolean getCurrencyPKHasBeenModified() { 210 return _value.getCurrencyPKHasBeenModified(); 211 } 212 213 public String getReference() { 214 return _value.getReference(); 215 } 216 217 public void setReference(String reference) 218 throws PersistenceNotNullException, PersistenceReadOnlyException { 219 checkReadWrite(); 220 _value.setReference(reference); 221 } 222 223 public boolean getReferenceHasBeenModified() { 224 return _value.getReferenceHasBeenModified(); 225 } 226 227 public String getDescription() { 228 return _value.getDescription(); 229 } 230 231 public void setDescription(String description) 232 throws PersistenceNotNullException, PersistenceReadOnlyException { 233 checkReadWrite(); 234 _value.setDescription(description); 235 } 236 237 public boolean getDescriptionHasBeenModified() { 238 return _value.getDescriptionHasBeenModified(); 239 } 240 241 public Long getFromTime() { 242 return _value.getFromTime(); 243 } 244 245 public void setFromTime(Long fromTime) 246 throws PersistenceNotNullException, PersistenceReadOnlyException { 247 checkReadWrite(); 248 _value.setFromTime(fromTime); 249 } 250 251 public boolean getFromTimeHasBeenModified() { 252 return _value.getFromTimeHasBeenModified(); 253 } 254 255 public Long getThruTime() { 256 return _value.getThruTime(); 257 } 258 259 public void setThruTime(Long thruTime) 260 throws PersistenceNotNullException, PersistenceReadOnlyException { 261 checkReadWrite(); 262 _value.setThruTime(thruTime); 263 } 264 265 public boolean getThruTimeHasBeenModified() { 266 return _value.getThruTimeHasBeenModified(); 267 } 268 269}