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 * SubscriptionDetail.java 021 */ 022 023package com.echothree.model.data.subscription.server.entity; 024 025import com.echothree.model.data.subscription.common.pk.SubscriptionDetailPK; 026 027import com.echothree.model.data.subscription.common.pk.SubscriptionPK; 028import com.echothree.model.data.subscription.common.pk.SubscriptionTypePK; 029import com.echothree.model.data.party.common.pk.PartyPK; 030 031import com.echothree.model.data.subscription.server.entity.Subscription; 032import com.echothree.model.data.subscription.server.entity.SubscriptionType; 033import com.echothree.model.data.party.server.entity.Party; 034 035import com.echothree.model.data.subscription.server.factory.SubscriptionFactory; 036import com.echothree.model.data.subscription.server.factory.SubscriptionTypeFactory; 037import com.echothree.model.data.party.server.factory.PartyFactory; 038 039import com.echothree.model.data.subscription.common.pk.SubscriptionDetailPK; 040 041import com.echothree.model.data.subscription.server.value.SubscriptionDetailValue; 042 043import com.echothree.model.data.subscription.server.factory.SubscriptionDetailFactory; 044 045import com.echothree.util.common.exception.PersistenceException; 046import com.echothree.util.common.exception.PersistenceDatabaseException; 047import com.echothree.util.common.exception.PersistenceNotNullException; 048import com.echothree.util.common.exception.PersistenceReadOnlyException; 049 050import com.echothree.util.common.persistence.BasePK; 051 052import com.echothree.util.common.persistence.type.ByteArray; 053 054import com.echothree.util.server.persistence.BaseEntity; 055import com.echothree.util.server.persistence.EntityPermission; 056import com.echothree.util.server.persistence.Session; 057import com.echothree.util.server.persistence.ThreadSession; 058 059import java.io.Serializable; 060 061import javax.annotation.Nonnull; 062import javax.annotation.Nullable; 063 064public class SubscriptionDetail 065 extends BaseEntity 066 implements Serializable { 067 068 private SubscriptionDetailPK _pk; 069 private SubscriptionDetailValue _value; 070 071 /** Creates a new instance of SubscriptionDetail */ 072 public SubscriptionDetail() 073 throws PersistenceException { 074 super(); 075 } 076 077 /** Creates a new instance of SubscriptionDetail */ 078 public SubscriptionDetail(SubscriptionDetailValue value, EntityPermission entityPermission) { 079 super(entityPermission); 080 081 _value = value; 082 _pk = value.getPrimaryKey(); 083 } 084 085 @Override 086 @Nonnull 087 public SubscriptionDetailFactory getBaseFactoryInstance() { 088 return SubscriptionDetailFactory.getInstance(); 089 } 090 091 @Override 092 public boolean hasBeenModified() { 093 return _value.hasBeenModified(); 094 } 095 096 @Override 097 public int hashCode() { 098 return _pk.hashCode(); 099 } 100 101 @Override 102 @Nonnull 103 public String toString() { 104 return _pk.toString(); 105 } 106 107 @Override 108 public boolean equals(Object other) { 109 if(this == other) 110 return true; 111 112 if(other instanceof SubscriptionDetail that) { 113 SubscriptionDetailValue thatValue = that.getSubscriptionDetailValue(); 114 return _value.equals(thatValue); 115 } else { 116 return false; 117 } 118 } 119 120 @Override 121 public void store() 122 throws PersistenceDatabaseException { 123 getBaseFactoryInstance().store(this); 124 } 125 126 @Override 127 public void remove() 128 throws PersistenceDatabaseException { 129 getBaseFactoryInstance().remove(this); 130 } 131 132 @Nonnull 133 public SubscriptionDetailValue getSubscriptionDetailValue() { 134 return _value; 135 } 136 137 public void setSubscriptionDetailValue(@Nonnull SubscriptionDetailValue value) 138 throws PersistenceReadOnlyException { 139 checkReadWrite(); 140 _value = value; 141 } 142 143 @Override 144 @Nonnull 145 public SubscriptionDetailPK getPrimaryKey() { 146 return _pk; 147 } 148 149 @Nonnull 150 public SubscriptionPK getSubscriptionPK() { 151 return _value.getSubscriptionPK(); 152 } 153 154 @Nonnull 155 public Subscription getSubscription(EntityPermission entityPermission) { 156 return SubscriptionFactory.getInstance().getEntityFromPK(entityPermission, getSubscriptionPK()); 157 } 158 159 @Nonnull 160 public Subscription getSubscription() { 161 return getSubscription(EntityPermission.READ_ONLY); 162 } 163 164 @Nonnull 165 public Subscription getSubscriptionForUpdate() { 166 return getSubscription(EntityPermission.READ_WRITE); 167 } 168 169 public void setSubscriptionPK(@Nonnull SubscriptionPK subscriptionPK) 170 throws PersistenceNotNullException, PersistenceReadOnlyException { 171 checkReadWrite(); 172 _value.setSubscriptionPK(subscriptionPK); 173 } 174 175 public void setSubscription(@Nonnull Subscription entity) { 176 setSubscriptionPK(entity == null ? null : entity.getPrimaryKey()); 177 } 178 179 public boolean getSubscriptionPKHasBeenModified() { 180 return _value.getSubscriptionPKHasBeenModified(); 181 } 182 183 @Nonnull 184 public String getSubscriptionName() { 185 return _value.getSubscriptionName(); 186 } 187 188 public void setSubscriptionName(@Nonnull String subscriptionName) 189 throws PersistenceNotNullException, PersistenceReadOnlyException { 190 checkReadWrite(); 191 _value.setSubscriptionName(subscriptionName); 192 } 193 194 public boolean getSubscriptionNameHasBeenModified() { 195 return _value.getSubscriptionNameHasBeenModified(); 196 } 197 198 @Nonnull 199 public SubscriptionTypePK getSubscriptionTypePK() { 200 return _value.getSubscriptionTypePK(); 201 } 202 203 @Nonnull 204 public SubscriptionType getSubscriptionType(EntityPermission entityPermission) { 205 return SubscriptionTypeFactory.getInstance().getEntityFromPK(entityPermission, getSubscriptionTypePK()); 206 } 207 208 @Nonnull 209 public SubscriptionType getSubscriptionType() { 210 return getSubscriptionType(EntityPermission.READ_ONLY); 211 } 212 213 @Nonnull 214 public SubscriptionType getSubscriptionTypeForUpdate() { 215 return getSubscriptionType(EntityPermission.READ_WRITE); 216 } 217 218 public void setSubscriptionTypePK(@Nonnull SubscriptionTypePK subscriptionTypePK) 219 throws PersistenceNotNullException, PersistenceReadOnlyException { 220 checkReadWrite(); 221 _value.setSubscriptionTypePK(subscriptionTypePK); 222 } 223 224 public void setSubscriptionType(@Nonnull SubscriptionType entity) { 225 setSubscriptionTypePK(entity == null ? null : entity.getPrimaryKey()); 226 } 227 228 public boolean getSubscriptionTypePKHasBeenModified() { 229 return _value.getSubscriptionTypePKHasBeenModified(); 230 } 231 232 @Nonnull 233 public PartyPK getPartyPK() { 234 return _value.getPartyPK(); 235 } 236 237 @Nonnull 238 public Party getParty(EntityPermission entityPermission) { 239 return PartyFactory.getInstance().getEntityFromPK(entityPermission, getPartyPK()); 240 } 241 242 @Nonnull 243 public Party getParty() { 244 return getParty(EntityPermission.READ_ONLY); 245 } 246 247 @Nonnull 248 public Party getPartyForUpdate() { 249 return getParty(EntityPermission.READ_WRITE); 250 } 251 252 public void setPartyPK(@Nonnull PartyPK partyPK) 253 throws PersistenceNotNullException, PersistenceReadOnlyException { 254 checkReadWrite(); 255 _value.setPartyPK(partyPK); 256 } 257 258 public void setParty(@Nonnull Party entity) { 259 setPartyPK(entity == null ? null : entity.getPrimaryKey()); 260 } 261 262 public boolean getPartyPKHasBeenModified() { 263 return _value.getPartyPKHasBeenModified(); 264 } 265 266 @Nonnull 267 public Long getStartTime() { 268 return _value.getStartTime(); 269 } 270 271 public void setStartTime(@Nonnull Long startTime) 272 throws PersistenceNotNullException, PersistenceReadOnlyException { 273 checkReadWrite(); 274 _value.setStartTime(startTime); 275 } 276 277 public boolean getStartTimeHasBeenModified() { 278 return _value.getStartTimeHasBeenModified(); 279 } 280 281 @Nullable 282 public Long getEndTime() { 283 return _value.getEndTime(); 284 } 285 286 public void setEndTime(@Nullable Long endTime) 287 throws PersistenceNotNullException, PersistenceReadOnlyException { 288 checkReadWrite(); 289 _value.setEndTime(endTime); 290 } 291 292 public boolean getEndTimeHasBeenModified() { 293 return _value.getEndTimeHasBeenModified(); 294 } 295 296 @Nonnull 297 public Long getFromTime() { 298 return _value.getFromTime(); 299 } 300 301 public void setFromTime(@Nonnull Long fromTime) 302 throws PersistenceNotNullException, PersistenceReadOnlyException { 303 checkReadWrite(); 304 _value.setFromTime(fromTime); 305 } 306 307 public boolean getFromTimeHasBeenModified() { 308 return _value.getFromTimeHasBeenModified(); 309 } 310 311 @Nonnull 312 public Long getThruTime() { 313 return _value.getThruTime(); 314 } 315 316 public void setThruTime(@Nonnull Long thruTime) 317 throws PersistenceNotNullException, PersistenceReadOnlyException { 318 checkReadWrite(); 319 _value.setThruTime(thruTime); 320 } 321 322 public boolean getThruTimeHasBeenModified() { 323 return _value.getThruTimeHasBeenModified(); 324 } 325 326}