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 * PeriodDetail.java 021 */ 022 023package com.echothree.model.data.period.server.entity; 024 025import com.echothree.model.data.period.common.pk.PeriodDetailPK; 026 027import com.echothree.model.data.period.common.pk.PeriodPK; 028import com.echothree.model.data.period.common.pk.PeriodKindPK; 029import com.echothree.model.data.period.common.pk.PeriodTypePK; 030 031import com.echothree.model.data.period.server.entity.Period; 032import com.echothree.model.data.period.server.entity.PeriodKind; 033import com.echothree.model.data.period.server.entity.PeriodType; 034 035import com.echothree.model.data.period.server.factory.PeriodFactory; 036import com.echothree.model.data.period.server.factory.PeriodKindFactory; 037import com.echothree.model.data.period.server.factory.PeriodTypeFactory; 038 039import com.echothree.model.data.period.common.pk.PeriodDetailPK; 040 041import com.echothree.model.data.period.server.value.PeriodDetailValue; 042 043import com.echothree.model.data.period.server.factory.PeriodDetailFactory; 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 PeriodDetail 065 extends BaseEntity 066 implements Serializable { 067 068 private PeriodDetailPK _pk; 069 private PeriodDetailValue _value; 070 071 /** Creates a new instance of PeriodDetail */ 072 public PeriodDetail() 073 throws PersistenceException { 074 super(); 075 } 076 077 /** Creates a new instance of PeriodDetail */ 078 public PeriodDetail(PeriodDetailValue value, EntityPermission entityPermission) { 079 super(entityPermission); 080 081 _value = value; 082 _pk = value.getPrimaryKey(); 083 } 084 085 @Override 086 @Nonnull 087 public PeriodDetailFactory getBaseFactoryInstance() { 088 return PeriodDetailFactory.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 PeriodDetail that) { 113 PeriodDetailValue thatValue = that.getPeriodDetailValue(); 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 PeriodDetailValue getPeriodDetailValue() { 134 return _value; 135 } 136 137 public void setPeriodDetailValue(@Nonnull PeriodDetailValue value) 138 throws PersistenceReadOnlyException { 139 checkReadWrite(); 140 _value = value; 141 } 142 143 @Override 144 @Nonnull 145 public PeriodDetailPK getPrimaryKey() { 146 return _pk; 147 } 148 149 @Nonnull 150 public PeriodPK getPeriodPK() { 151 return _value.getPeriodPK(); 152 } 153 154 @Nonnull 155 public Period getPeriod(EntityPermission entityPermission) { 156 return PeriodFactory.getInstance().getEntityFromPK(entityPermission, getPeriodPK()); 157 } 158 159 @Nonnull 160 public Period getPeriod() { 161 return getPeriod(EntityPermission.READ_ONLY); 162 } 163 164 @Nonnull 165 public Period getPeriodForUpdate() { 166 return getPeriod(EntityPermission.READ_WRITE); 167 } 168 169 public void setPeriodPK(@Nonnull PeriodPK periodPK) 170 throws PersistenceNotNullException, PersistenceReadOnlyException { 171 checkReadWrite(); 172 _value.setPeriodPK(periodPK); 173 } 174 175 public void setPeriod(@Nonnull Period entity) { 176 setPeriodPK(entity == null ? null : entity.getPrimaryKey()); 177 } 178 179 public boolean getPeriodPKHasBeenModified() { 180 return _value.getPeriodPKHasBeenModified(); 181 } 182 183 @Nonnull 184 public PeriodKindPK getPeriodKindPK() { 185 return _value.getPeriodKindPK(); 186 } 187 188 @Nonnull 189 public PeriodKind getPeriodKind(EntityPermission entityPermission) { 190 return PeriodKindFactory.getInstance().getEntityFromPK(entityPermission, getPeriodKindPK()); 191 } 192 193 @Nonnull 194 public PeriodKind getPeriodKind() { 195 return getPeriodKind(EntityPermission.READ_ONLY); 196 } 197 198 @Nonnull 199 public PeriodKind getPeriodKindForUpdate() { 200 return getPeriodKind(EntityPermission.READ_WRITE); 201 } 202 203 public void setPeriodKindPK(@Nonnull PeriodKindPK periodKindPK) 204 throws PersistenceNotNullException, PersistenceReadOnlyException { 205 checkReadWrite(); 206 _value.setPeriodKindPK(periodKindPK); 207 } 208 209 public void setPeriodKind(@Nonnull PeriodKind entity) { 210 setPeriodKindPK(entity == null ? null : entity.getPrimaryKey()); 211 } 212 213 public boolean getPeriodKindPKHasBeenModified() { 214 return _value.getPeriodKindPKHasBeenModified(); 215 } 216 217 @Nonnull 218 public String getPeriodName() { 219 return _value.getPeriodName(); 220 } 221 222 public void setPeriodName(@Nonnull String periodName) 223 throws PersistenceNotNullException, PersistenceReadOnlyException { 224 checkReadWrite(); 225 _value.setPeriodName(periodName); 226 } 227 228 public boolean getPeriodNameHasBeenModified() { 229 return _value.getPeriodNameHasBeenModified(); 230 } 231 232 @Nullable 233 public PeriodPK getParentPeriodPK() { 234 return _value.getParentPeriodPK(); 235 } 236 237 @Nullable 238 public Period getParentPeriod(EntityPermission entityPermission) { 239 PeriodPK pk = getParentPeriodPK(); 240 Period entity = pk == null? null: PeriodFactory.getInstance().getEntityFromPK(entityPermission, pk); 241 242 return entity; 243 } 244 245 @Nullable 246 public Period getParentPeriod() { 247 return getParentPeriod(EntityPermission.READ_ONLY); 248 } 249 250 @Nullable 251 public Period getParentPeriodForUpdate() { 252 return getParentPeriod(EntityPermission.READ_WRITE); 253 } 254 255 public void setParentPeriodPK(@Nullable PeriodPK parentPeriodPK) 256 throws PersistenceNotNullException, PersistenceReadOnlyException { 257 checkReadWrite(); 258 _value.setParentPeriodPK(parentPeriodPK); 259 } 260 261 public void setParentPeriod(@Nullable Period entity) { 262 setParentPeriodPK(entity == null ? null : entity.getPrimaryKey()); 263 } 264 265 public boolean getParentPeriodPKHasBeenModified() { 266 return _value.getParentPeriodPKHasBeenModified(); 267 } 268 269 @Nullable 270 public PeriodTypePK getPeriodTypePK() { 271 return _value.getPeriodTypePK(); 272 } 273 274 @Nullable 275 public PeriodType getPeriodType(EntityPermission entityPermission) { 276 PeriodTypePK pk = getPeriodTypePK(); 277 PeriodType entity = pk == null? null: PeriodTypeFactory.getInstance().getEntityFromPK(entityPermission, pk); 278 279 return entity; 280 } 281 282 @Nullable 283 public PeriodType getPeriodType() { 284 return getPeriodType(EntityPermission.READ_ONLY); 285 } 286 287 @Nullable 288 public PeriodType getPeriodTypeForUpdate() { 289 return getPeriodType(EntityPermission.READ_WRITE); 290 } 291 292 public void setPeriodTypePK(@Nullable PeriodTypePK periodTypePK) 293 throws PersistenceNotNullException, PersistenceReadOnlyException { 294 checkReadWrite(); 295 _value.setPeriodTypePK(periodTypePK); 296 } 297 298 public void setPeriodType(@Nullable PeriodType entity) { 299 setPeriodTypePK(entity == null ? null : entity.getPrimaryKey()); 300 } 301 302 public boolean getPeriodTypePKHasBeenModified() { 303 return _value.getPeriodTypePKHasBeenModified(); 304 } 305 306 @Nonnull 307 public Long getStartTime() { 308 return _value.getStartTime(); 309 } 310 311 public void setStartTime(@Nonnull Long startTime) 312 throws PersistenceNotNullException, PersistenceReadOnlyException { 313 checkReadWrite(); 314 _value.setStartTime(startTime); 315 } 316 317 public boolean getStartTimeHasBeenModified() { 318 return _value.getStartTimeHasBeenModified(); 319 } 320 321 @Nonnull 322 public Long getEndTime() { 323 return _value.getEndTime(); 324 } 325 326 public void setEndTime(@Nonnull Long endTime) 327 throws PersistenceNotNullException, PersistenceReadOnlyException { 328 checkReadWrite(); 329 _value.setEndTime(endTime); 330 } 331 332 public boolean getEndTimeHasBeenModified() { 333 return _value.getEndTimeHasBeenModified(); 334 } 335 336 @Nonnull 337 public Long getFromTime() { 338 return _value.getFromTime(); 339 } 340 341 public void setFromTime(@Nonnull Long fromTime) 342 throws PersistenceNotNullException, PersistenceReadOnlyException { 343 checkReadWrite(); 344 _value.setFromTime(fromTime); 345 } 346 347 public boolean getFromTimeHasBeenModified() { 348 return _value.getFromTimeHasBeenModified(); 349 } 350 351 @Nonnull 352 public Long getThruTime() { 353 return _value.getThruTime(); 354 } 355 356 public void setThruTime(@Nonnull Long thruTime) 357 throws PersistenceNotNullException, PersistenceReadOnlyException { 358 checkReadWrite(); 359 _value.setThruTime(thruTime); 360 } 361 362 public boolean getThruTimeHasBeenModified() { 363 return _value.getThruTimeHasBeenModified(); 364 } 365 366}