001// --------------------------------------------------------------------------------
002// Copyright 2002-2024 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 * TrainingClassDetailValue.java
021 */
022
023package com.echothree.model.data.training.server.value;
024
025import com.echothree.model.data.training.common.pk.TrainingClassDetailPK;
026
027import com.echothree.model.data.training.server.factory.TrainingClassDetailFactory;
028
029import com.echothree.model.data.training.common.pk.TrainingClassPK;
030import com.echothree.model.data.workeffort.common.pk.WorkEffortScopePK;
031
032import com.echothree.util.common.exception.PersistenceCloneException;
033import com.echothree.util.common.exception.PersistenceNotNullException;
034
035import com.echothree.util.server.persistence.BaseValue;
036
037import java.io.Serializable;
038
039public class TrainingClassDetailValue
040        extends BaseValue<TrainingClassDetailPK>
041        implements Cloneable, Serializable {
042    
043    private TrainingClassPK trainingClassPK;
044    private boolean trainingClassPKHasBeenModified = false;
045    private String trainingClassName;
046    private boolean trainingClassNameHasBeenModified = false;
047    private Long estimatedReadingTime;
048    private boolean estimatedReadingTimeHasBeenModified = false;
049    private Long readingTimeAllowed;
050    private boolean readingTimeAllowedHasBeenModified = false;
051    private Long estimatedTestingTime;
052    private boolean estimatedTestingTimeHasBeenModified = false;
053    private Long testingTimeAllowed;
054    private boolean testingTimeAllowedHasBeenModified = false;
055    private Long requiredCompletionTime;
056    private boolean requiredCompletionTimeHasBeenModified = false;
057    private WorkEffortScopePK workEffortScopePK;
058    private boolean workEffortScopePKHasBeenModified = false;
059    private Integer defaultPercentageToPass;
060    private boolean defaultPercentageToPassHasBeenModified = false;
061    private Integer overallQuestionCount;
062    private boolean overallQuestionCountHasBeenModified = false;
063    private Long testingValidityTime;
064    private boolean testingValidityTimeHasBeenModified = false;
065    private Long expiredRetentionTime;
066    private boolean expiredRetentionTimeHasBeenModified = false;
067    private Boolean alwaysReassignOnExpiration;
068    private boolean alwaysReassignOnExpirationHasBeenModified = false;
069    private Boolean isDefault;
070    private boolean isDefaultHasBeenModified = false;
071    private Integer sortOrder;
072    private boolean sortOrderHasBeenModified = false;
073    private Long fromTime;
074    private boolean fromTimeHasBeenModified = false;
075    private Long thruTime;
076    private boolean thruTimeHasBeenModified = false;
077    
078    private transient Integer _hashCode = null;
079    private transient String _stringValue = null;
080    
081    private void constructFields(TrainingClassPK trainingClassPK, String trainingClassName, Long estimatedReadingTime, Long readingTimeAllowed, Long estimatedTestingTime, Long testingTimeAllowed, Long requiredCompletionTime, WorkEffortScopePK workEffortScopePK, Integer defaultPercentageToPass, Integer overallQuestionCount, Long testingValidityTime, Long expiredRetentionTime, Boolean alwaysReassignOnExpiration, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
082            throws PersistenceNotNullException {
083        checkForNull(trainingClassPK);
084        this.trainingClassPK = trainingClassPK;
085        checkForNull(trainingClassName);
086        this.trainingClassName = trainingClassName;
087        this.estimatedReadingTime = estimatedReadingTime;
088        this.readingTimeAllowed = readingTimeAllowed;
089        this.estimatedTestingTime = estimatedTestingTime;
090        this.testingTimeAllowed = testingTimeAllowed;
091        this.requiredCompletionTime = requiredCompletionTime;
092        this.workEffortScopePK = workEffortScopePK;
093        this.defaultPercentageToPass = defaultPercentageToPass;
094        this.overallQuestionCount = overallQuestionCount;
095        this.testingValidityTime = testingValidityTime;
096        this.expiredRetentionTime = expiredRetentionTime;
097        checkForNull(alwaysReassignOnExpiration);
098        this.alwaysReassignOnExpiration = alwaysReassignOnExpiration;
099        checkForNull(isDefault);
100        this.isDefault = isDefault;
101        checkForNull(sortOrder);
102        this.sortOrder = sortOrder;
103        checkForNull(fromTime);
104        this.fromTime = fromTime;
105        checkForNull(thruTime);
106        this.thruTime = thruTime;
107    }
108    
109    /** Creates a new instance of TrainingClassDetailValue */
110    public TrainingClassDetailValue(TrainingClassDetailPK trainingClassDetailPK, TrainingClassPK trainingClassPK, String trainingClassName, Long estimatedReadingTime, Long readingTimeAllowed, Long estimatedTestingTime, Long testingTimeAllowed, Long requiredCompletionTime, WorkEffortScopePK workEffortScopePK, Integer defaultPercentageToPass, Integer overallQuestionCount, Long testingValidityTime, Long expiredRetentionTime, Boolean alwaysReassignOnExpiration, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
111            throws PersistenceNotNullException {
112        super(trainingClassDetailPK);
113        constructFields(trainingClassPK, trainingClassName, estimatedReadingTime, readingTimeAllowed, estimatedTestingTime, testingTimeAllowed, requiredCompletionTime, workEffortScopePK, defaultPercentageToPass, overallQuestionCount, testingValidityTime, expiredRetentionTime, alwaysReassignOnExpiration, isDefault, sortOrder, fromTime, thruTime);
114    }
115    
116    /** Creates a new instance of TrainingClassDetailValue */
117    public TrainingClassDetailValue(TrainingClassPK trainingClassPK, String trainingClassName, Long estimatedReadingTime, Long readingTimeAllowed, Long estimatedTestingTime, Long testingTimeAllowed, Long requiredCompletionTime, WorkEffortScopePK workEffortScopePK, Integer defaultPercentageToPass, Integer overallQuestionCount, Long testingValidityTime, Long expiredRetentionTime, Boolean alwaysReassignOnExpiration, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
118            throws PersistenceNotNullException {
119        super();
120        constructFields(trainingClassPK, trainingClassName, estimatedReadingTime, readingTimeAllowed, estimatedTestingTime, testingTimeAllowed, requiredCompletionTime, workEffortScopePK, defaultPercentageToPass, overallQuestionCount, testingValidityTime, expiredRetentionTime, alwaysReassignOnExpiration, isDefault, sortOrder, fromTime, thruTime);
121    }
122    
123   @Override
124   public TrainingClassDetailFactory getBaseFactoryInstance() {
125        return TrainingClassDetailFactory.getInstance();
126    }
127    
128    @Override
129    public TrainingClassDetailValue clone() {
130        Object result;
131        
132        try {
133            result = super.clone();
134        } catch (CloneNotSupportedException cnse) {
135            // This shouldn't happen, fail when it does.
136            throw new PersistenceCloneException(cnse);
137        }
138        
139        return (TrainingClassDetailValue)result;
140    }
141    
142   @Override
143    public TrainingClassDetailPK getPrimaryKey() {
144        if(_primaryKey == null) {
145            _primaryKey = new TrainingClassDetailPK(entityId);
146        }
147        
148        return _primaryKey;
149    }
150    
151    private void clearHashAndString() {
152        _hashCode = null;
153        _stringValue = null;
154    }
155    
156    @Override
157    public int hashCode() {
158        if(_hashCode == null) {
159            int hashCode = 17;
160            
161            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
162            
163            hashCode = 37 * hashCode + ((trainingClassPK != null) ? trainingClassPK.hashCode() : 0);
164            hashCode = 37 * hashCode + ((trainingClassName != null) ? trainingClassName.hashCode() : 0);
165            hashCode = 37 * hashCode + ((estimatedReadingTime != null) ? estimatedReadingTime.hashCode() : 0);
166            hashCode = 37 * hashCode + ((readingTimeAllowed != null) ? readingTimeAllowed.hashCode() : 0);
167            hashCode = 37 * hashCode + ((estimatedTestingTime != null) ? estimatedTestingTime.hashCode() : 0);
168            hashCode = 37 * hashCode + ((testingTimeAllowed != null) ? testingTimeAllowed.hashCode() : 0);
169            hashCode = 37 * hashCode + ((requiredCompletionTime != null) ? requiredCompletionTime.hashCode() : 0);
170            hashCode = 37 * hashCode + ((workEffortScopePK != null) ? workEffortScopePK.hashCode() : 0);
171            hashCode = 37 * hashCode + ((defaultPercentageToPass != null) ? defaultPercentageToPass.hashCode() : 0);
172            hashCode = 37 * hashCode + ((overallQuestionCount != null) ? overallQuestionCount.hashCode() : 0);
173            hashCode = 37 * hashCode + ((testingValidityTime != null) ? testingValidityTime.hashCode() : 0);
174            hashCode = 37 * hashCode + ((expiredRetentionTime != null) ? expiredRetentionTime.hashCode() : 0);
175            hashCode = 37 * hashCode + ((alwaysReassignOnExpiration != null) ? alwaysReassignOnExpiration.hashCode() : 0);
176            hashCode = 37 * hashCode + ((isDefault != null) ? isDefault.hashCode() : 0);
177            hashCode = 37 * hashCode + ((sortOrder != null) ? sortOrder.hashCode() : 0);
178            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
179            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
180            
181            _hashCode = hashCode;
182        }
183        
184        return _hashCode;
185    }
186    
187    @Override
188    public String toString() {
189        if(_stringValue == null) {
190            StringBuilder stringValue = new StringBuilder("{");
191            
192            stringValue.append("entityId=").append(getEntityId());
193            
194            stringValue.append(", trainingClassPK=").append(getTrainingClassPK());
195            stringValue.append(", trainingClassName=").append(getTrainingClassName());
196            stringValue.append(", estimatedReadingTime=").append(getEstimatedReadingTime());
197            stringValue.append(", readingTimeAllowed=").append(getReadingTimeAllowed());
198            stringValue.append(", estimatedTestingTime=").append(getEstimatedTestingTime());
199            stringValue.append(", testingTimeAllowed=").append(getTestingTimeAllowed());
200            stringValue.append(", requiredCompletionTime=").append(getRequiredCompletionTime());
201            stringValue.append(", workEffortScopePK=").append(getWorkEffortScopePK());
202            stringValue.append(", defaultPercentageToPass=").append(getDefaultPercentageToPass());
203            stringValue.append(", overallQuestionCount=").append(getOverallQuestionCount());
204            stringValue.append(", testingValidityTime=").append(getTestingValidityTime());
205            stringValue.append(", expiredRetentionTime=").append(getExpiredRetentionTime());
206            stringValue.append(", alwaysReassignOnExpiration=").append(getAlwaysReassignOnExpiration());
207            stringValue.append(", isDefault=").append(getIsDefault());
208            stringValue.append(", sortOrder=").append(getSortOrder());
209            stringValue.append(", fromTime=").append(getFromTime());
210            stringValue.append(", thruTime=").append(getThruTime());
211            
212            stringValue.append('}');
213            
214            _stringValue = stringValue.toString();
215        }
216        return _stringValue;
217    }
218    
219    @Override
220    public boolean equals(Object other) {
221        if(this == other)
222            return true;
223        
224        if(!hasIdentity())
225            return false;
226        
227        if(other instanceof  TrainingClassDetailValue) {
228            TrainingClassDetailValue that = (TrainingClassDetailValue)other;
229            
230            if(!that.hasIdentity())
231                return false;
232            
233            Long thisEntityId = getEntityId();
234            Long thatEntityId = that.getEntityId();
235            
236            boolean objectsEqual = thisEntityId.equals(thatEntityId);
237            if(objectsEqual)
238                objectsEqual = objectsEqual && isIdentical(that);
239            
240            return objectsEqual;
241        } else {
242            return false;
243        }
244    }
245    
246    public boolean isIdentical(Object other) {
247        if(other instanceof TrainingClassDetailValue) {
248            TrainingClassDetailValue that = (TrainingClassDetailValue)other;
249            boolean objectsEqual = true;
250            
251            
252            if(objectsEqual) {
253                TrainingClassPK thisTrainingClassPK = getTrainingClassPK();
254                TrainingClassPK thatTrainingClassPK = that.getTrainingClassPK();
255                
256                if(thisTrainingClassPK == null) {
257                    objectsEqual = objectsEqual && (thatTrainingClassPK == null);
258                } else {
259                    objectsEqual = objectsEqual && thisTrainingClassPK.equals(thatTrainingClassPK);
260                }
261            }
262            
263            if(objectsEqual) {
264                String thisTrainingClassName = getTrainingClassName();
265                String thatTrainingClassName = that.getTrainingClassName();
266                
267                if(thisTrainingClassName == null) {
268                    objectsEqual = objectsEqual && (thatTrainingClassName == null);
269                } else {
270                    objectsEqual = objectsEqual && thisTrainingClassName.equals(thatTrainingClassName);
271                }
272            }
273            
274            if(objectsEqual) {
275                Long thisEstimatedReadingTime = getEstimatedReadingTime();
276                Long thatEstimatedReadingTime = that.getEstimatedReadingTime();
277                
278                if(thisEstimatedReadingTime == null) {
279                    objectsEqual = objectsEqual && (thatEstimatedReadingTime == null);
280                } else {
281                    objectsEqual = objectsEqual && thisEstimatedReadingTime.equals(thatEstimatedReadingTime);
282                }
283            }
284            
285            if(objectsEqual) {
286                Long thisReadingTimeAllowed = getReadingTimeAllowed();
287                Long thatReadingTimeAllowed = that.getReadingTimeAllowed();
288                
289                if(thisReadingTimeAllowed == null) {
290                    objectsEqual = objectsEqual && (thatReadingTimeAllowed == null);
291                } else {
292                    objectsEqual = objectsEqual && thisReadingTimeAllowed.equals(thatReadingTimeAllowed);
293                }
294            }
295            
296            if(objectsEqual) {
297                Long thisEstimatedTestingTime = getEstimatedTestingTime();
298                Long thatEstimatedTestingTime = that.getEstimatedTestingTime();
299                
300                if(thisEstimatedTestingTime == null) {
301                    objectsEqual = objectsEqual && (thatEstimatedTestingTime == null);
302                } else {
303                    objectsEqual = objectsEqual && thisEstimatedTestingTime.equals(thatEstimatedTestingTime);
304                }
305            }
306            
307            if(objectsEqual) {
308                Long thisTestingTimeAllowed = getTestingTimeAllowed();
309                Long thatTestingTimeAllowed = that.getTestingTimeAllowed();
310                
311                if(thisTestingTimeAllowed == null) {
312                    objectsEqual = objectsEqual && (thatTestingTimeAllowed == null);
313                } else {
314                    objectsEqual = objectsEqual && thisTestingTimeAllowed.equals(thatTestingTimeAllowed);
315                }
316            }
317            
318            if(objectsEqual) {
319                Long thisRequiredCompletionTime = getRequiredCompletionTime();
320                Long thatRequiredCompletionTime = that.getRequiredCompletionTime();
321                
322                if(thisRequiredCompletionTime == null) {
323                    objectsEqual = objectsEqual && (thatRequiredCompletionTime == null);
324                } else {
325                    objectsEqual = objectsEqual && thisRequiredCompletionTime.equals(thatRequiredCompletionTime);
326                }
327            }
328            
329            if(objectsEqual) {
330                WorkEffortScopePK thisWorkEffortScopePK = getWorkEffortScopePK();
331                WorkEffortScopePK thatWorkEffortScopePK = that.getWorkEffortScopePK();
332                
333                if(thisWorkEffortScopePK == null) {
334                    objectsEqual = objectsEqual && (thatWorkEffortScopePK == null);
335                } else {
336                    objectsEqual = objectsEqual && thisWorkEffortScopePK.equals(thatWorkEffortScopePK);
337                }
338            }
339            
340            if(objectsEqual) {
341                Integer thisDefaultPercentageToPass = getDefaultPercentageToPass();
342                Integer thatDefaultPercentageToPass = that.getDefaultPercentageToPass();
343                
344                if(thisDefaultPercentageToPass == null) {
345                    objectsEqual = objectsEqual && (thatDefaultPercentageToPass == null);
346                } else {
347                    objectsEqual = objectsEqual && thisDefaultPercentageToPass.equals(thatDefaultPercentageToPass);
348                }
349            }
350            
351            if(objectsEqual) {
352                Integer thisOverallQuestionCount = getOverallQuestionCount();
353                Integer thatOverallQuestionCount = that.getOverallQuestionCount();
354                
355                if(thisOverallQuestionCount == null) {
356                    objectsEqual = objectsEqual && (thatOverallQuestionCount == null);
357                } else {
358                    objectsEqual = objectsEqual && thisOverallQuestionCount.equals(thatOverallQuestionCount);
359                }
360            }
361            
362            if(objectsEqual) {
363                Long thisTestingValidityTime = getTestingValidityTime();
364                Long thatTestingValidityTime = that.getTestingValidityTime();
365                
366                if(thisTestingValidityTime == null) {
367                    objectsEqual = objectsEqual && (thatTestingValidityTime == null);
368                } else {
369                    objectsEqual = objectsEqual && thisTestingValidityTime.equals(thatTestingValidityTime);
370                }
371            }
372            
373            if(objectsEqual) {
374                Long thisExpiredRetentionTime = getExpiredRetentionTime();
375                Long thatExpiredRetentionTime = that.getExpiredRetentionTime();
376                
377                if(thisExpiredRetentionTime == null) {
378                    objectsEqual = objectsEqual && (thatExpiredRetentionTime == null);
379                } else {
380                    objectsEqual = objectsEqual && thisExpiredRetentionTime.equals(thatExpiredRetentionTime);
381                }
382            }
383            
384            if(objectsEqual) {
385                Boolean thisAlwaysReassignOnExpiration = getAlwaysReassignOnExpiration();
386                Boolean thatAlwaysReassignOnExpiration = that.getAlwaysReassignOnExpiration();
387                
388                if(thisAlwaysReassignOnExpiration == null) {
389                    objectsEqual = objectsEqual && (thatAlwaysReassignOnExpiration == null);
390                } else {
391                    objectsEqual = objectsEqual && thisAlwaysReassignOnExpiration.equals(thatAlwaysReassignOnExpiration);
392                }
393            }
394            
395            if(objectsEqual) {
396                Boolean thisIsDefault = getIsDefault();
397                Boolean thatIsDefault = that.getIsDefault();
398                
399                if(thisIsDefault == null) {
400                    objectsEqual = objectsEqual && (thatIsDefault == null);
401                } else {
402                    objectsEqual = objectsEqual && thisIsDefault.equals(thatIsDefault);
403                }
404            }
405            
406            if(objectsEqual) {
407                Integer thisSortOrder = getSortOrder();
408                Integer thatSortOrder = that.getSortOrder();
409                
410                if(thisSortOrder == null) {
411                    objectsEqual = objectsEqual && (thatSortOrder == null);
412                } else {
413                    objectsEqual = objectsEqual && thisSortOrder.equals(thatSortOrder);
414                }
415            }
416            
417            if(objectsEqual) {
418                Long thisFromTime = getFromTime();
419                Long thatFromTime = that.getFromTime();
420                
421                if(thisFromTime == null) {
422                    objectsEqual = objectsEqual && (thatFromTime == null);
423                } else {
424                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
425                }
426            }
427            
428            if(objectsEqual) {
429                Long thisThruTime = getThruTime();
430                Long thatThruTime = that.getThruTime();
431                
432                if(thisThruTime == null) {
433                    objectsEqual = objectsEqual && (thatThruTime == null);
434                } else {
435                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
436                }
437            }
438            
439            return objectsEqual;
440        } else {
441            return false;
442        }
443    }
444    
445    @Override
446    public boolean hasBeenModified() {
447        return trainingClassPKHasBeenModified || trainingClassNameHasBeenModified || estimatedReadingTimeHasBeenModified || readingTimeAllowedHasBeenModified || estimatedTestingTimeHasBeenModified || testingTimeAllowedHasBeenModified || requiredCompletionTimeHasBeenModified || workEffortScopePKHasBeenModified || defaultPercentageToPassHasBeenModified || overallQuestionCountHasBeenModified || testingValidityTimeHasBeenModified || expiredRetentionTimeHasBeenModified || alwaysReassignOnExpirationHasBeenModified || isDefaultHasBeenModified || sortOrderHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
448    }
449    
450    @Override
451    public void clearHasBeenModified() {
452        trainingClassPKHasBeenModified = false;
453        trainingClassNameHasBeenModified = false;
454        estimatedReadingTimeHasBeenModified = false;
455        readingTimeAllowedHasBeenModified = false;
456        estimatedTestingTimeHasBeenModified = false;
457        testingTimeAllowedHasBeenModified = false;
458        requiredCompletionTimeHasBeenModified = false;
459        workEffortScopePKHasBeenModified = false;
460        defaultPercentageToPassHasBeenModified = false;
461        overallQuestionCountHasBeenModified = false;
462        testingValidityTimeHasBeenModified = false;
463        expiredRetentionTimeHasBeenModified = false;
464        alwaysReassignOnExpirationHasBeenModified = false;
465        isDefaultHasBeenModified = false;
466        sortOrderHasBeenModified = false;
467        fromTimeHasBeenModified = false;
468        thruTimeHasBeenModified = false;
469    }
470    
471    public TrainingClassPK getTrainingClassPK() {
472        return trainingClassPK;
473    }
474    
475    public void setTrainingClassPK(TrainingClassPK trainingClassPK)
476            throws PersistenceNotNullException {
477        checkForNull(trainingClassPK);
478        
479        boolean update = true;
480        
481        if(this.trainingClassPK != null) {
482            if(this.trainingClassPK.equals(trainingClassPK)) {
483                update = false;
484            }
485        } else if(trainingClassPK == null) {
486            update = false;
487        }
488        
489        if(update) {
490            this.trainingClassPK = trainingClassPK;
491            trainingClassPKHasBeenModified = true;
492            clearHashAndString();
493        }
494    }
495    
496    public boolean getTrainingClassPKHasBeenModified() {
497        return trainingClassPKHasBeenModified;
498    }
499    
500    public String getTrainingClassName() {
501        return trainingClassName;
502    }
503    
504    public void setTrainingClassName(String trainingClassName)
505            throws PersistenceNotNullException {
506        checkForNull(trainingClassName);
507        
508        boolean update = true;
509        
510        if(this.trainingClassName != null) {
511            if(this.trainingClassName.equals(trainingClassName)) {
512                update = false;
513            }
514        } else if(trainingClassName == null) {
515            update = false;
516        }
517        
518        if(update) {
519            this.trainingClassName = trainingClassName;
520            trainingClassNameHasBeenModified = true;
521            clearHashAndString();
522        }
523    }
524    
525    public boolean getTrainingClassNameHasBeenModified() {
526        return trainingClassNameHasBeenModified;
527    }
528    
529    public Long getEstimatedReadingTime() {
530        return estimatedReadingTime;
531    }
532    
533    public void setEstimatedReadingTime(Long estimatedReadingTime) {
534        boolean update = true;
535        
536        if(this.estimatedReadingTime != null) {
537            if(this.estimatedReadingTime.equals(estimatedReadingTime)) {
538                update = false;
539            }
540        } else if(estimatedReadingTime == null) {
541            update = false;
542        }
543        
544        if(update) {
545            this.estimatedReadingTime = estimatedReadingTime;
546            estimatedReadingTimeHasBeenModified = true;
547            clearHashAndString();
548        }
549    }
550    
551    public boolean getEstimatedReadingTimeHasBeenModified() {
552        return estimatedReadingTimeHasBeenModified;
553    }
554    
555    public Long getReadingTimeAllowed() {
556        return readingTimeAllowed;
557    }
558    
559    public void setReadingTimeAllowed(Long readingTimeAllowed) {
560        boolean update = true;
561        
562        if(this.readingTimeAllowed != null) {
563            if(this.readingTimeAllowed.equals(readingTimeAllowed)) {
564                update = false;
565            }
566        } else if(readingTimeAllowed == null) {
567            update = false;
568        }
569        
570        if(update) {
571            this.readingTimeAllowed = readingTimeAllowed;
572            readingTimeAllowedHasBeenModified = true;
573            clearHashAndString();
574        }
575    }
576    
577    public boolean getReadingTimeAllowedHasBeenModified() {
578        return readingTimeAllowedHasBeenModified;
579    }
580    
581    public Long getEstimatedTestingTime() {
582        return estimatedTestingTime;
583    }
584    
585    public void setEstimatedTestingTime(Long estimatedTestingTime) {
586        boolean update = true;
587        
588        if(this.estimatedTestingTime != null) {
589            if(this.estimatedTestingTime.equals(estimatedTestingTime)) {
590                update = false;
591            }
592        } else if(estimatedTestingTime == null) {
593            update = false;
594        }
595        
596        if(update) {
597            this.estimatedTestingTime = estimatedTestingTime;
598            estimatedTestingTimeHasBeenModified = true;
599            clearHashAndString();
600        }
601    }
602    
603    public boolean getEstimatedTestingTimeHasBeenModified() {
604        return estimatedTestingTimeHasBeenModified;
605    }
606    
607    public Long getTestingTimeAllowed() {
608        return testingTimeAllowed;
609    }
610    
611    public void setTestingTimeAllowed(Long testingTimeAllowed) {
612        boolean update = true;
613        
614        if(this.testingTimeAllowed != null) {
615            if(this.testingTimeAllowed.equals(testingTimeAllowed)) {
616                update = false;
617            }
618        } else if(testingTimeAllowed == null) {
619            update = false;
620        }
621        
622        if(update) {
623            this.testingTimeAllowed = testingTimeAllowed;
624            testingTimeAllowedHasBeenModified = true;
625            clearHashAndString();
626        }
627    }
628    
629    public boolean getTestingTimeAllowedHasBeenModified() {
630        return testingTimeAllowedHasBeenModified;
631    }
632    
633    public Long getRequiredCompletionTime() {
634        return requiredCompletionTime;
635    }
636    
637    public void setRequiredCompletionTime(Long requiredCompletionTime) {
638        boolean update = true;
639        
640        if(this.requiredCompletionTime != null) {
641            if(this.requiredCompletionTime.equals(requiredCompletionTime)) {
642                update = false;
643            }
644        } else if(requiredCompletionTime == null) {
645            update = false;
646        }
647        
648        if(update) {
649            this.requiredCompletionTime = requiredCompletionTime;
650            requiredCompletionTimeHasBeenModified = true;
651            clearHashAndString();
652        }
653    }
654    
655    public boolean getRequiredCompletionTimeHasBeenModified() {
656        return requiredCompletionTimeHasBeenModified;
657    }
658    
659    public WorkEffortScopePK getWorkEffortScopePK() {
660        return workEffortScopePK;
661    }
662    
663    public void setWorkEffortScopePK(WorkEffortScopePK workEffortScopePK) {
664        boolean update = true;
665        
666        if(this.workEffortScopePK != null) {
667            if(this.workEffortScopePK.equals(workEffortScopePK)) {
668                update = false;
669            }
670        } else if(workEffortScopePK == null) {
671            update = false;
672        }
673        
674        if(update) {
675            this.workEffortScopePK = workEffortScopePK;
676            workEffortScopePKHasBeenModified = true;
677            clearHashAndString();
678        }
679    }
680    
681    public boolean getWorkEffortScopePKHasBeenModified() {
682        return workEffortScopePKHasBeenModified;
683    }
684    
685    public Integer getDefaultPercentageToPass() {
686        return defaultPercentageToPass;
687    }
688    
689    public void setDefaultPercentageToPass(Integer defaultPercentageToPass) {
690        boolean update = true;
691        
692        if(this.defaultPercentageToPass != null) {
693            if(this.defaultPercentageToPass.equals(defaultPercentageToPass)) {
694                update = false;
695            }
696        } else if(defaultPercentageToPass == null) {
697            update = false;
698        }
699        
700        if(update) {
701            this.defaultPercentageToPass = defaultPercentageToPass;
702            defaultPercentageToPassHasBeenModified = true;
703            clearHashAndString();
704        }
705    }
706    
707    public boolean getDefaultPercentageToPassHasBeenModified() {
708        return defaultPercentageToPassHasBeenModified;
709    }
710    
711    public Integer getOverallQuestionCount() {
712        return overallQuestionCount;
713    }
714    
715    public void setOverallQuestionCount(Integer overallQuestionCount) {
716        boolean update = true;
717        
718        if(this.overallQuestionCount != null) {
719            if(this.overallQuestionCount.equals(overallQuestionCount)) {
720                update = false;
721            }
722        } else if(overallQuestionCount == null) {
723            update = false;
724        }
725        
726        if(update) {
727            this.overallQuestionCount = overallQuestionCount;
728            overallQuestionCountHasBeenModified = true;
729            clearHashAndString();
730        }
731    }
732    
733    public boolean getOverallQuestionCountHasBeenModified() {
734        return overallQuestionCountHasBeenModified;
735    }
736    
737    public Long getTestingValidityTime() {
738        return testingValidityTime;
739    }
740    
741    public void setTestingValidityTime(Long testingValidityTime) {
742        boolean update = true;
743        
744        if(this.testingValidityTime != null) {
745            if(this.testingValidityTime.equals(testingValidityTime)) {
746                update = false;
747            }
748        } else if(testingValidityTime == null) {
749            update = false;
750        }
751        
752        if(update) {
753            this.testingValidityTime = testingValidityTime;
754            testingValidityTimeHasBeenModified = true;
755            clearHashAndString();
756        }
757    }
758    
759    public boolean getTestingValidityTimeHasBeenModified() {
760        return testingValidityTimeHasBeenModified;
761    }
762    
763    public Long getExpiredRetentionTime() {
764        return expiredRetentionTime;
765    }
766    
767    public void setExpiredRetentionTime(Long expiredRetentionTime) {
768        boolean update = true;
769        
770        if(this.expiredRetentionTime != null) {
771            if(this.expiredRetentionTime.equals(expiredRetentionTime)) {
772                update = false;
773            }
774        } else if(expiredRetentionTime == null) {
775            update = false;
776        }
777        
778        if(update) {
779            this.expiredRetentionTime = expiredRetentionTime;
780            expiredRetentionTimeHasBeenModified = true;
781            clearHashAndString();
782        }
783    }
784    
785    public boolean getExpiredRetentionTimeHasBeenModified() {
786        return expiredRetentionTimeHasBeenModified;
787    }
788    
789    public Boolean getAlwaysReassignOnExpiration() {
790        return alwaysReassignOnExpiration;
791    }
792    
793    public void setAlwaysReassignOnExpiration(Boolean alwaysReassignOnExpiration)
794            throws PersistenceNotNullException {
795        checkForNull(alwaysReassignOnExpiration);
796        
797        boolean update = true;
798        
799        if(this.alwaysReassignOnExpiration != null) {
800            if(this.alwaysReassignOnExpiration.equals(alwaysReassignOnExpiration)) {
801                update = false;
802            }
803        } else if(alwaysReassignOnExpiration == null) {
804            update = false;
805        }
806        
807        if(update) {
808            this.alwaysReassignOnExpiration = alwaysReassignOnExpiration;
809            alwaysReassignOnExpirationHasBeenModified = true;
810            clearHashAndString();
811        }
812    }
813    
814    public boolean getAlwaysReassignOnExpirationHasBeenModified() {
815        return alwaysReassignOnExpirationHasBeenModified;
816    }
817    
818    public Boolean getIsDefault() {
819        return isDefault;
820    }
821    
822    public void setIsDefault(Boolean isDefault)
823            throws PersistenceNotNullException {
824        checkForNull(isDefault);
825        
826        boolean update = true;
827        
828        if(this.isDefault != null) {
829            if(this.isDefault.equals(isDefault)) {
830                update = false;
831            }
832        } else if(isDefault == null) {
833            update = false;
834        }
835        
836        if(update) {
837            this.isDefault = isDefault;
838            isDefaultHasBeenModified = true;
839            clearHashAndString();
840        }
841    }
842    
843    public boolean getIsDefaultHasBeenModified() {
844        return isDefaultHasBeenModified;
845    }
846    
847    public Integer getSortOrder() {
848        return sortOrder;
849    }
850    
851    public void setSortOrder(Integer sortOrder)
852            throws PersistenceNotNullException {
853        checkForNull(sortOrder);
854        
855        boolean update = true;
856        
857        if(this.sortOrder != null) {
858            if(this.sortOrder.equals(sortOrder)) {
859                update = false;
860            }
861        } else if(sortOrder == null) {
862            update = false;
863        }
864        
865        if(update) {
866            this.sortOrder = sortOrder;
867            sortOrderHasBeenModified = true;
868            clearHashAndString();
869        }
870    }
871    
872    public boolean getSortOrderHasBeenModified() {
873        return sortOrderHasBeenModified;
874    }
875    
876    public Long getFromTime() {
877        return fromTime;
878    }
879    
880    public void setFromTime(Long fromTime)
881            throws PersistenceNotNullException {
882        checkForNull(fromTime);
883        
884        boolean update = true;
885        
886        if(this.fromTime != null) {
887            if(this.fromTime.equals(fromTime)) {
888                update = false;
889            }
890        } else if(fromTime == null) {
891            update = false;
892        }
893        
894        if(update) {
895            this.fromTime = fromTime;
896            fromTimeHasBeenModified = true;
897            clearHashAndString();
898        }
899    }
900    
901    public boolean getFromTimeHasBeenModified() {
902        return fromTimeHasBeenModified;
903    }
904    
905    public Long getThruTime() {
906        return thruTime;
907    }
908    
909    public void setThruTime(Long thruTime)
910            throws PersistenceNotNullException {
911        checkForNull(thruTime);
912        
913        boolean update = true;
914        
915        if(this.thruTime != null) {
916            if(this.thruTime.equals(thruTime)) {
917                update = false;
918            }
919        } else if(thruTime == null) {
920            update = false;
921        }
922        
923        if(update) {
924            this.thruTime = thruTime;
925            thruTimeHasBeenModified = true;
926            clearHashAndString();
927        }
928    }
929    
930    public boolean getThruTimeHasBeenModified() {
931        return thruTimeHasBeenModified;
932    }
933    
934}