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 * HarmonizedTariffScheduleCodeDetailValue.java
021 */
022
023package com.echothree.model.data.item.server.value;
024
025import com.echothree.model.data.item.common.pk.HarmonizedTariffScheduleCodeDetailPK;
026
027import com.echothree.model.data.item.server.factory.HarmonizedTariffScheduleCodeDetailFactory;
028
029import com.echothree.model.data.item.common.pk.HarmonizedTariffScheduleCodePK;
030import com.echothree.model.data.geo.common.pk.GeoCodePK;
031import com.echothree.model.data.item.common.pk.HarmonizedTariffScheduleCodeUnitPK;
032
033import com.echothree.util.common.exception.PersistenceCloneException;
034import com.echothree.util.common.exception.PersistenceNotNullException;
035
036import com.echothree.util.server.persistence.BaseValue;
037
038import java.io.Serializable;
039
040public class HarmonizedTariffScheduleCodeDetailValue
041        extends BaseValue<HarmonizedTariffScheduleCodeDetailPK>
042        implements Cloneable, Serializable {
043    
044    private HarmonizedTariffScheduleCodePK harmonizedTariffScheduleCodePK;
045    private boolean harmonizedTariffScheduleCodePKHasBeenModified = false;
046    private GeoCodePK countryGeoCodePK;
047    private boolean countryGeoCodePKHasBeenModified = false;
048    private String harmonizedTariffScheduleCodeName;
049    private boolean harmonizedTariffScheduleCodeNameHasBeenModified = false;
050    private HarmonizedTariffScheduleCodeUnitPK firstHarmonizedTariffScheduleCodeUnitPK;
051    private boolean firstHarmonizedTariffScheduleCodeUnitPKHasBeenModified = false;
052    private HarmonizedTariffScheduleCodeUnitPK secondHarmonizedTariffScheduleCodeUnitPK;
053    private boolean secondHarmonizedTariffScheduleCodeUnitPKHasBeenModified = false;
054    private Boolean isDefault;
055    private boolean isDefaultHasBeenModified = false;
056    private Integer sortOrder;
057    private boolean sortOrderHasBeenModified = false;
058    private Long fromTime;
059    private boolean fromTimeHasBeenModified = false;
060    private Long thruTime;
061    private boolean thruTimeHasBeenModified = false;
062    
063    private transient Integer _hashCode = null;
064    private transient String _stringValue = null;
065    
066    private void constructFields(HarmonizedTariffScheduleCodePK harmonizedTariffScheduleCodePK, GeoCodePK countryGeoCodePK, String harmonizedTariffScheduleCodeName, HarmonizedTariffScheduleCodeUnitPK firstHarmonizedTariffScheduleCodeUnitPK, HarmonizedTariffScheduleCodeUnitPK secondHarmonizedTariffScheduleCodeUnitPK, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
067            throws PersistenceNotNullException {
068        checkForNull(harmonizedTariffScheduleCodePK);
069        this.harmonizedTariffScheduleCodePK = harmonizedTariffScheduleCodePK;
070        checkForNull(countryGeoCodePK);
071        this.countryGeoCodePK = countryGeoCodePK;
072        checkForNull(harmonizedTariffScheduleCodeName);
073        this.harmonizedTariffScheduleCodeName = harmonizedTariffScheduleCodeName;
074        this.firstHarmonizedTariffScheduleCodeUnitPK = firstHarmonizedTariffScheduleCodeUnitPK;
075        this.secondHarmonizedTariffScheduleCodeUnitPK = secondHarmonizedTariffScheduleCodeUnitPK;
076        checkForNull(isDefault);
077        this.isDefault = isDefault;
078        checkForNull(sortOrder);
079        this.sortOrder = sortOrder;
080        checkForNull(fromTime);
081        this.fromTime = fromTime;
082        checkForNull(thruTime);
083        this.thruTime = thruTime;
084    }
085    
086    /** Creates a new instance of HarmonizedTariffScheduleCodeDetailValue */
087    public HarmonizedTariffScheduleCodeDetailValue(HarmonizedTariffScheduleCodeDetailPK harmonizedTariffScheduleCodeDetailPK, HarmonizedTariffScheduleCodePK harmonizedTariffScheduleCodePK, GeoCodePK countryGeoCodePK, String harmonizedTariffScheduleCodeName, HarmonizedTariffScheduleCodeUnitPK firstHarmonizedTariffScheduleCodeUnitPK, HarmonizedTariffScheduleCodeUnitPK secondHarmonizedTariffScheduleCodeUnitPK, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
088            throws PersistenceNotNullException {
089        super(harmonizedTariffScheduleCodeDetailPK);
090        constructFields(harmonizedTariffScheduleCodePK, countryGeoCodePK, harmonizedTariffScheduleCodeName, firstHarmonizedTariffScheduleCodeUnitPK, secondHarmonizedTariffScheduleCodeUnitPK, isDefault, sortOrder, fromTime, thruTime);
091    }
092    
093    /** Creates a new instance of HarmonizedTariffScheduleCodeDetailValue */
094    public HarmonizedTariffScheduleCodeDetailValue(HarmonizedTariffScheduleCodePK harmonizedTariffScheduleCodePK, GeoCodePK countryGeoCodePK, String harmonizedTariffScheduleCodeName, HarmonizedTariffScheduleCodeUnitPK firstHarmonizedTariffScheduleCodeUnitPK, HarmonizedTariffScheduleCodeUnitPK secondHarmonizedTariffScheduleCodeUnitPK, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
095            throws PersistenceNotNullException {
096        super();
097        constructFields(harmonizedTariffScheduleCodePK, countryGeoCodePK, harmonizedTariffScheduleCodeName, firstHarmonizedTariffScheduleCodeUnitPK, secondHarmonizedTariffScheduleCodeUnitPK, isDefault, sortOrder, fromTime, thruTime);
098    }
099    
100   @Override
101   public HarmonizedTariffScheduleCodeDetailFactory getBaseFactoryInstance() {
102        return HarmonizedTariffScheduleCodeDetailFactory.getInstance();
103    }
104    
105    @Override
106    public HarmonizedTariffScheduleCodeDetailValue clone() {
107        Object result;
108        
109        try {
110            result = super.clone();
111        } catch (CloneNotSupportedException cnse) {
112            // This shouldn't happen, fail when it does.
113            throw new PersistenceCloneException(cnse);
114        }
115        
116        return (HarmonizedTariffScheduleCodeDetailValue)result;
117    }
118    
119   @Override
120    public HarmonizedTariffScheduleCodeDetailPK getPrimaryKey() {
121        if(_primaryKey == null) {
122            _primaryKey = new HarmonizedTariffScheduleCodeDetailPK(entityId);
123        }
124        
125        return _primaryKey;
126    }
127    
128    private void clearHashAndString() {
129        _hashCode = null;
130        _stringValue = null;
131    }
132    
133    @Override
134    public int hashCode() {
135        if(_hashCode == null) {
136            int hashCode = 17;
137            
138            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
139            
140            hashCode = 37 * hashCode + ((harmonizedTariffScheduleCodePK != null) ? harmonizedTariffScheduleCodePK.hashCode() : 0);
141            hashCode = 37 * hashCode + ((countryGeoCodePK != null) ? countryGeoCodePK.hashCode() : 0);
142            hashCode = 37 * hashCode + ((harmonizedTariffScheduleCodeName != null) ? harmonizedTariffScheduleCodeName.hashCode() : 0);
143            hashCode = 37 * hashCode + ((firstHarmonizedTariffScheduleCodeUnitPK != null) ? firstHarmonizedTariffScheduleCodeUnitPK.hashCode() : 0);
144            hashCode = 37 * hashCode + ((secondHarmonizedTariffScheduleCodeUnitPK != null) ? secondHarmonizedTariffScheduleCodeUnitPK.hashCode() : 0);
145            hashCode = 37 * hashCode + ((isDefault != null) ? isDefault.hashCode() : 0);
146            hashCode = 37 * hashCode + ((sortOrder != null) ? sortOrder.hashCode() : 0);
147            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
148            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
149            
150            _hashCode = hashCode;
151        }
152        
153        return _hashCode;
154    }
155    
156    @Override
157    public String toString() {
158        if(_stringValue == null) {
159            StringBuilder stringValue = new StringBuilder("{");
160            
161            stringValue.append("entityId=").append(getEntityId());
162            
163            stringValue.append(", harmonizedTariffScheduleCodePK=").append(getHarmonizedTariffScheduleCodePK());
164            stringValue.append(", countryGeoCodePK=").append(getCountryGeoCodePK());
165            stringValue.append(", harmonizedTariffScheduleCodeName=").append(getHarmonizedTariffScheduleCodeName());
166            stringValue.append(", firstHarmonizedTariffScheduleCodeUnitPK=").append(getFirstHarmonizedTariffScheduleCodeUnitPK());
167            stringValue.append(", secondHarmonizedTariffScheduleCodeUnitPK=").append(getSecondHarmonizedTariffScheduleCodeUnitPK());
168            stringValue.append(", isDefault=").append(getIsDefault());
169            stringValue.append(", sortOrder=").append(getSortOrder());
170            stringValue.append(", fromTime=").append(getFromTime());
171            stringValue.append(", thruTime=").append(getThruTime());
172            
173            stringValue.append('}');
174            
175            _stringValue = stringValue.toString();
176        }
177        return _stringValue;
178    }
179    
180    @Override
181    public boolean equals(Object other) {
182        if(this == other)
183            return true;
184        
185        if(!hasIdentity())
186            return false;
187        
188        if(other instanceof  HarmonizedTariffScheduleCodeDetailValue) {
189            HarmonizedTariffScheduleCodeDetailValue that = (HarmonizedTariffScheduleCodeDetailValue)other;
190            
191            if(!that.hasIdentity())
192                return false;
193            
194            Long thisEntityId = getEntityId();
195            Long thatEntityId = that.getEntityId();
196            
197            boolean objectsEqual = thisEntityId.equals(thatEntityId);
198            if(objectsEqual)
199                objectsEqual = objectsEqual && isIdentical(that);
200            
201            return objectsEqual;
202        } else {
203            return false;
204        }
205    }
206    
207    public boolean isIdentical(Object other) {
208        if(other instanceof HarmonizedTariffScheduleCodeDetailValue) {
209            HarmonizedTariffScheduleCodeDetailValue that = (HarmonizedTariffScheduleCodeDetailValue)other;
210            boolean objectsEqual = true;
211            
212            
213            if(objectsEqual) {
214                HarmonizedTariffScheduleCodePK thisHarmonizedTariffScheduleCodePK = getHarmonizedTariffScheduleCodePK();
215                HarmonizedTariffScheduleCodePK thatHarmonizedTariffScheduleCodePK = that.getHarmonizedTariffScheduleCodePK();
216                
217                if(thisHarmonizedTariffScheduleCodePK == null) {
218                    objectsEqual = objectsEqual && (thatHarmonizedTariffScheduleCodePK == null);
219                } else {
220                    objectsEqual = objectsEqual && thisHarmonizedTariffScheduleCodePK.equals(thatHarmonizedTariffScheduleCodePK);
221                }
222            }
223            
224            if(objectsEqual) {
225                GeoCodePK thisCountryGeoCodePK = getCountryGeoCodePK();
226                GeoCodePK thatCountryGeoCodePK = that.getCountryGeoCodePK();
227                
228                if(thisCountryGeoCodePK == null) {
229                    objectsEqual = objectsEqual && (thatCountryGeoCodePK == null);
230                } else {
231                    objectsEqual = objectsEqual && thisCountryGeoCodePK.equals(thatCountryGeoCodePK);
232                }
233            }
234            
235            if(objectsEqual) {
236                String thisHarmonizedTariffScheduleCodeName = getHarmonizedTariffScheduleCodeName();
237                String thatHarmonizedTariffScheduleCodeName = that.getHarmonizedTariffScheduleCodeName();
238                
239                if(thisHarmonizedTariffScheduleCodeName == null) {
240                    objectsEqual = objectsEqual && (thatHarmonizedTariffScheduleCodeName == null);
241                } else {
242                    objectsEqual = objectsEqual && thisHarmonizedTariffScheduleCodeName.equals(thatHarmonizedTariffScheduleCodeName);
243                }
244            }
245            
246            if(objectsEqual) {
247                HarmonizedTariffScheduleCodeUnitPK thisFirstHarmonizedTariffScheduleCodeUnitPK = getFirstHarmonizedTariffScheduleCodeUnitPK();
248                HarmonizedTariffScheduleCodeUnitPK thatFirstHarmonizedTariffScheduleCodeUnitPK = that.getFirstHarmonizedTariffScheduleCodeUnitPK();
249                
250                if(thisFirstHarmonizedTariffScheduleCodeUnitPK == null) {
251                    objectsEqual = objectsEqual && (thatFirstHarmonizedTariffScheduleCodeUnitPK == null);
252                } else {
253                    objectsEqual = objectsEqual && thisFirstHarmonizedTariffScheduleCodeUnitPK.equals(thatFirstHarmonizedTariffScheduleCodeUnitPK);
254                }
255            }
256            
257            if(objectsEqual) {
258                HarmonizedTariffScheduleCodeUnitPK thisSecondHarmonizedTariffScheduleCodeUnitPK = getSecondHarmonizedTariffScheduleCodeUnitPK();
259                HarmonizedTariffScheduleCodeUnitPK thatSecondHarmonizedTariffScheduleCodeUnitPK = that.getSecondHarmonizedTariffScheduleCodeUnitPK();
260                
261                if(thisSecondHarmonizedTariffScheduleCodeUnitPK == null) {
262                    objectsEqual = objectsEqual && (thatSecondHarmonizedTariffScheduleCodeUnitPK == null);
263                } else {
264                    objectsEqual = objectsEqual && thisSecondHarmonizedTariffScheduleCodeUnitPK.equals(thatSecondHarmonizedTariffScheduleCodeUnitPK);
265                }
266            }
267            
268            if(objectsEqual) {
269                Boolean thisIsDefault = getIsDefault();
270                Boolean thatIsDefault = that.getIsDefault();
271                
272                if(thisIsDefault == null) {
273                    objectsEqual = objectsEqual && (thatIsDefault == null);
274                } else {
275                    objectsEqual = objectsEqual && thisIsDefault.equals(thatIsDefault);
276                }
277            }
278            
279            if(objectsEqual) {
280                Integer thisSortOrder = getSortOrder();
281                Integer thatSortOrder = that.getSortOrder();
282                
283                if(thisSortOrder == null) {
284                    objectsEqual = objectsEqual && (thatSortOrder == null);
285                } else {
286                    objectsEqual = objectsEqual && thisSortOrder.equals(thatSortOrder);
287                }
288            }
289            
290            if(objectsEqual) {
291                Long thisFromTime = getFromTime();
292                Long thatFromTime = that.getFromTime();
293                
294                if(thisFromTime == null) {
295                    objectsEqual = objectsEqual && (thatFromTime == null);
296                } else {
297                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
298                }
299            }
300            
301            if(objectsEqual) {
302                Long thisThruTime = getThruTime();
303                Long thatThruTime = that.getThruTime();
304                
305                if(thisThruTime == null) {
306                    objectsEqual = objectsEqual && (thatThruTime == null);
307                } else {
308                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
309                }
310            }
311            
312            return objectsEqual;
313        } else {
314            return false;
315        }
316    }
317    
318    @Override
319    public boolean hasBeenModified() {
320        return harmonizedTariffScheduleCodePKHasBeenModified || countryGeoCodePKHasBeenModified || harmonizedTariffScheduleCodeNameHasBeenModified || firstHarmonizedTariffScheduleCodeUnitPKHasBeenModified || secondHarmonizedTariffScheduleCodeUnitPKHasBeenModified || isDefaultHasBeenModified || sortOrderHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
321    }
322    
323    @Override
324    public void clearHasBeenModified() {
325        harmonizedTariffScheduleCodePKHasBeenModified = false;
326        countryGeoCodePKHasBeenModified = false;
327        harmonizedTariffScheduleCodeNameHasBeenModified = false;
328        firstHarmonizedTariffScheduleCodeUnitPKHasBeenModified = false;
329        secondHarmonizedTariffScheduleCodeUnitPKHasBeenModified = false;
330        isDefaultHasBeenModified = false;
331        sortOrderHasBeenModified = false;
332        fromTimeHasBeenModified = false;
333        thruTimeHasBeenModified = false;
334    }
335    
336    public HarmonizedTariffScheduleCodePK getHarmonizedTariffScheduleCodePK() {
337        return harmonizedTariffScheduleCodePK;
338    }
339    
340    public void setHarmonizedTariffScheduleCodePK(HarmonizedTariffScheduleCodePK harmonizedTariffScheduleCodePK)
341            throws PersistenceNotNullException {
342        checkForNull(harmonizedTariffScheduleCodePK);
343        
344        boolean update = true;
345        
346        if(this.harmonizedTariffScheduleCodePK != null) {
347            if(this.harmonizedTariffScheduleCodePK.equals(harmonizedTariffScheduleCodePK)) {
348                update = false;
349            }
350        } else if(harmonizedTariffScheduleCodePK == null) {
351            update = false;
352        }
353        
354        if(update) {
355            this.harmonizedTariffScheduleCodePK = harmonizedTariffScheduleCodePK;
356            harmonizedTariffScheduleCodePKHasBeenModified = true;
357            clearHashAndString();
358        }
359    }
360    
361    public boolean getHarmonizedTariffScheduleCodePKHasBeenModified() {
362        return harmonizedTariffScheduleCodePKHasBeenModified;
363    }
364    
365    public GeoCodePK getCountryGeoCodePK() {
366        return countryGeoCodePK;
367    }
368    
369    public void setCountryGeoCodePK(GeoCodePK countryGeoCodePK)
370            throws PersistenceNotNullException {
371        checkForNull(countryGeoCodePK);
372        
373        boolean update = true;
374        
375        if(this.countryGeoCodePK != null) {
376            if(this.countryGeoCodePK.equals(countryGeoCodePK)) {
377                update = false;
378            }
379        } else if(countryGeoCodePK == null) {
380            update = false;
381        }
382        
383        if(update) {
384            this.countryGeoCodePK = countryGeoCodePK;
385            countryGeoCodePKHasBeenModified = true;
386            clearHashAndString();
387        }
388    }
389    
390    public boolean getCountryGeoCodePKHasBeenModified() {
391        return countryGeoCodePKHasBeenModified;
392    }
393    
394    public String getHarmonizedTariffScheduleCodeName() {
395        return harmonizedTariffScheduleCodeName;
396    }
397    
398    public void setHarmonizedTariffScheduleCodeName(String harmonizedTariffScheduleCodeName)
399            throws PersistenceNotNullException {
400        checkForNull(harmonizedTariffScheduleCodeName);
401        
402        boolean update = true;
403        
404        if(this.harmonizedTariffScheduleCodeName != null) {
405            if(this.harmonizedTariffScheduleCodeName.equals(harmonizedTariffScheduleCodeName)) {
406                update = false;
407            }
408        } else if(harmonizedTariffScheduleCodeName == null) {
409            update = false;
410        }
411        
412        if(update) {
413            this.harmonizedTariffScheduleCodeName = harmonizedTariffScheduleCodeName;
414            harmonizedTariffScheduleCodeNameHasBeenModified = true;
415            clearHashAndString();
416        }
417    }
418    
419    public boolean getHarmonizedTariffScheduleCodeNameHasBeenModified() {
420        return harmonizedTariffScheduleCodeNameHasBeenModified;
421    }
422    
423    public HarmonizedTariffScheduleCodeUnitPK getFirstHarmonizedTariffScheduleCodeUnitPK() {
424        return firstHarmonizedTariffScheduleCodeUnitPK;
425    }
426    
427    public void setFirstHarmonizedTariffScheduleCodeUnitPK(HarmonizedTariffScheduleCodeUnitPK firstHarmonizedTariffScheduleCodeUnitPK) {
428        boolean update = true;
429        
430        if(this.firstHarmonizedTariffScheduleCodeUnitPK != null) {
431            if(this.firstHarmonizedTariffScheduleCodeUnitPK.equals(firstHarmonizedTariffScheduleCodeUnitPK)) {
432                update = false;
433            }
434        } else if(firstHarmonizedTariffScheduleCodeUnitPK == null) {
435            update = false;
436        }
437        
438        if(update) {
439            this.firstHarmonizedTariffScheduleCodeUnitPK = firstHarmonizedTariffScheduleCodeUnitPK;
440            firstHarmonizedTariffScheduleCodeUnitPKHasBeenModified = true;
441            clearHashAndString();
442        }
443    }
444    
445    public boolean getFirstHarmonizedTariffScheduleCodeUnitPKHasBeenModified() {
446        return firstHarmonizedTariffScheduleCodeUnitPKHasBeenModified;
447    }
448    
449    public HarmonizedTariffScheduleCodeUnitPK getSecondHarmonizedTariffScheduleCodeUnitPK() {
450        return secondHarmonizedTariffScheduleCodeUnitPK;
451    }
452    
453    public void setSecondHarmonizedTariffScheduleCodeUnitPK(HarmonizedTariffScheduleCodeUnitPK secondHarmonizedTariffScheduleCodeUnitPK) {
454        boolean update = true;
455        
456        if(this.secondHarmonizedTariffScheduleCodeUnitPK != null) {
457            if(this.secondHarmonizedTariffScheduleCodeUnitPK.equals(secondHarmonizedTariffScheduleCodeUnitPK)) {
458                update = false;
459            }
460        } else if(secondHarmonizedTariffScheduleCodeUnitPK == null) {
461            update = false;
462        }
463        
464        if(update) {
465            this.secondHarmonizedTariffScheduleCodeUnitPK = secondHarmonizedTariffScheduleCodeUnitPK;
466            secondHarmonizedTariffScheduleCodeUnitPKHasBeenModified = true;
467            clearHashAndString();
468        }
469    }
470    
471    public boolean getSecondHarmonizedTariffScheduleCodeUnitPKHasBeenModified() {
472        return secondHarmonizedTariffScheduleCodeUnitPKHasBeenModified;
473    }
474    
475    public Boolean getIsDefault() {
476        return isDefault;
477    }
478    
479    public void setIsDefault(Boolean isDefault)
480            throws PersistenceNotNullException {
481        checkForNull(isDefault);
482        
483        boolean update = true;
484        
485        if(this.isDefault != null) {
486            if(this.isDefault.equals(isDefault)) {
487                update = false;
488            }
489        } else if(isDefault == null) {
490            update = false;
491        }
492        
493        if(update) {
494            this.isDefault = isDefault;
495            isDefaultHasBeenModified = true;
496            clearHashAndString();
497        }
498    }
499    
500    public boolean getIsDefaultHasBeenModified() {
501        return isDefaultHasBeenModified;
502    }
503    
504    public Integer getSortOrder() {
505        return sortOrder;
506    }
507    
508    public void setSortOrder(Integer sortOrder)
509            throws PersistenceNotNullException {
510        checkForNull(sortOrder);
511        
512        boolean update = true;
513        
514        if(this.sortOrder != null) {
515            if(this.sortOrder.equals(sortOrder)) {
516                update = false;
517            }
518        } else if(sortOrder == null) {
519            update = false;
520        }
521        
522        if(update) {
523            this.sortOrder = sortOrder;
524            sortOrderHasBeenModified = true;
525            clearHashAndString();
526        }
527    }
528    
529    public boolean getSortOrderHasBeenModified() {
530        return sortOrderHasBeenModified;
531    }
532    
533    public Long getFromTime() {
534        return fromTime;
535    }
536    
537    public void setFromTime(Long fromTime)
538            throws PersistenceNotNullException {
539        checkForNull(fromTime);
540        
541        boolean update = true;
542        
543        if(this.fromTime != null) {
544            if(this.fromTime.equals(fromTime)) {
545                update = false;
546            }
547        } else if(fromTime == null) {
548            update = false;
549        }
550        
551        if(update) {
552            this.fromTime = fromTime;
553            fromTimeHasBeenModified = true;
554            clearHashAndString();
555        }
556    }
557    
558    public boolean getFromTimeHasBeenModified() {
559        return fromTimeHasBeenModified;
560    }
561    
562    public Long getThruTime() {
563        return thruTime;
564    }
565    
566    public void setThruTime(Long thruTime)
567            throws PersistenceNotNullException {
568        checkForNull(thruTime);
569        
570        boolean update = true;
571        
572        if(this.thruTime != null) {
573            if(this.thruTime.equals(thruTime)) {
574                update = false;
575            }
576        } else if(thruTime == null) {
577            update = false;
578        }
579        
580        if(update) {
581            this.thruTime = thruTime;
582            thruTimeHasBeenModified = true;
583            clearHashAndString();
584        }
585    }
586    
587    public boolean getThruTimeHasBeenModified() {
588        return thruTimeHasBeenModified;
589    }
590    
591}