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 * DateTimeFormatDetailValue.java
021 */
022
023package com.echothree.model.data.party.server.value;
024
025import com.echothree.model.data.party.common.pk.DateTimeFormatDetailPK;
026
027import com.echothree.model.data.party.server.factory.DateTimeFormatDetailFactory;
028
029import com.echothree.model.data.party.common.pk.DateTimeFormatPK;
030
031import com.echothree.util.common.exception.PersistenceCloneException;
032import com.echothree.util.common.exception.PersistenceNotNullException;
033
034import com.echothree.util.server.persistence.BaseValue;
035
036import java.io.Serializable;
037
038import javax.annotation.Nonnull;
039import javax.annotation.Nullable;
040
041public class DateTimeFormatDetailValue
042        extends BaseValue<DateTimeFormatDetailPK>
043        implements Cloneable, Serializable {
044    
045    private DateTimeFormatPK dateTimeFormatPK;
046    private boolean dateTimeFormatPKHasBeenModified = false;
047    private String dateTimeFormatName;
048    private boolean dateTimeFormatNameHasBeenModified = false;
049    private String javaShortDateFormat;
050    private boolean javaShortDateFormatHasBeenModified = false;
051    private String javaAbbrevDateFormat;
052    private boolean javaAbbrevDateFormatHasBeenModified = false;
053    private String javaAbbrevDateFormatWeekday;
054    private boolean javaAbbrevDateFormatWeekdayHasBeenModified = false;
055    private String javaLongDateFormat;
056    private boolean javaLongDateFormatHasBeenModified = false;
057    private String javaLongDateFormatWeekday;
058    private boolean javaLongDateFormatWeekdayHasBeenModified = false;
059    private String javaTimeFormat;
060    private boolean javaTimeFormatHasBeenModified = false;
061    private String javaTimeFormatSeconds;
062    private boolean javaTimeFormatSecondsHasBeenModified = false;
063    private String unixShortDateFormat;
064    private boolean unixShortDateFormatHasBeenModified = false;
065    private String unixAbbrevDateFormat;
066    private boolean unixAbbrevDateFormatHasBeenModified = false;
067    private String unixAbbrevDateFormatWeekday;
068    private boolean unixAbbrevDateFormatWeekdayHasBeenModified = false;
069    private String unixLongDateFormat;
070    private boolean unixLongDateFormatHasBeenModified = false;
071    private String unixLongDateFormatWeekday;
072    private boolean unixLongDateFormatWeekdayHasBeenModified = false;
073    private String unixTimeFormat;
074    private boolean unixTimeFormatHasBeenModified = false;
075    private String unixTimeFormatSeconds;
076    private boolean unixTimeFormatSecondsHasBeenModified = false;
077    private String shortDateSeparator;
078    private boolean shortDateSeparatorHasBeenModified = false;
079    private String timeSeparator;
080    private boolean timeSeparatorHasBeenModified = false;
081    private Boolean isDefault;
082    private boolean isDefaultHasBeenModified = false;
083    private Integer sortOrder;
084    private boolean sortOrderHasBeenModified = false;
085    private Long fromTime;
086    private boolean fromTimeHasBeenModified = false;
087    private Long thruTime;
088    private boolean thruTimeHasBeenModified = false;
089    
090    private transient Integer _hashCode = null;
091    private transient String _stringValue = null;
092    
093    private void constructFields(DateTimeFormatPK dateTimeFormatPK, String dateTimeFormatName, String javaShortDateFormat, String javaAbbrevDateFormat, String javaAbbrevDateFormatWeekday, String javaLongDateFormat, String javaLongDateFormatWeekday, String javaTimeFormat, String javaTimeFormatSeconds, String unixShortDateFormat, String unixAbbrevDateFormat, String unixAbbrevDateFormatWeekday, String unixLongDateFormat, String unixLongDateFormatWeekday, String unixTimeFormat, String unixTimeFormatSeconds, String shortDateSeparator, String timeSeparator, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
094            throws PersistenceNotNullException {
095        checkForNull(dateTimeFormatPK);
096        this.dateTimeFormatPK = dateTimeFormatPK;
097        checkForNull(dateTimeFormatName);
098        this.dateTimeFormatName = dateTimeFormatName;
099        checkForNull(javaShortDateFormat);
100        this.javaShortDateFormat = javaShortDateFormat;
101        checkForNull(javaAbbrevDateFormat);
102        this.javaAbbrevDateFormat = javaAbbrevDateFormat;
103        checkForNull(javaAbbrevDateFormatWeekday);
104        this.javaAbbrevDateFormatWeekday = javaAbbrevDateFormatWeekday;
105        checkForNull(javaLongDateFormat);
106        this.javaLongDateFormat = javaLongDateFormat;
107        checkForNull(javaLongDateFormatWeekday);
108        this.javaLongDateFormatWeekday = javaLongDateFormatWeekday;
109        checkForNull(javaTimeFormat);
110        this.javaTimeFormat = javaTimeFormat;
111        checkForNull(javaTimeFormatSeconds);
112        this.javaTimeFormatSeconds = javaTimeFormatSeconds;
113        checkForNull(unixShortDateFormat);
114        this.unixShortDateFormat = unixShortDateFormat;
115        checkForNull(unixAbbrevDateFormat);
116        this.unixAbbrevDateFormat = unixAbbrevDateFormat;
117        checkForNull(unixAbbrevDateFormatWeekday);
118        this.unixAbbrevDateFormatWeekday = unixAbbrevDateFormatWeekday;
119        checkForNull(unixLongDateFormat);
120        this.unixLongDateFormat = unixLongDateFormat;
121        checkForNull(unixLongDateFormatWeekday);
122        this.unixLongDateFormatWeekday = unixLongDateFormatWeekday;
123        checkForNull(unixTimeFormat);
124        this.unixTimeFormat = unixTimeFormat;
125        checkForNull(unixTimeFormatSeconds);
126        this.unixTimeFormatSeconds = unixTimeFormatSeconds;
127        checkForNull(shortDateSeparator);
128        this.shortDateSeparator = shortDateSeparator;
129        checkForNull(timeSeparator);
130        this.timeSeparator = timeSeparator;
131        checkForNull(isDefault);
132        this.isDefault = isDefault;
133        checkForNull(sortOrder);
134        this.sortOrder = sortOrder;
135        checkForNull(fromTime);
136        this.fromTime = fromTime;
137        checkForNull(thruTime);
138        this.thruTime = thruTime;
139    }
140    
141    /** Creates a new instance of DateTimeFormatDetailValue */
142    public DateTimeFormatDetailValue(DateTimeFormatDetailPK dateTimeFormatDetailPK, DateTimeFormatPK dateTimeFormatPK, String dateTimeFormatName, String javaShortDateFormat, String javaAbbrevDateFormat, String javaAbbrevDateFormatWeekday, String javaLongDateFormat, String javaLongDateFormatWeekday, String javaTimeFormat, String javaTimeFormatSeconds, String unixShortDateFormat, String unixAbbrevDateFormat, String unixAbbrevDateFormatWeekday, String unixLongDateFormat, String unixLongDateFormatWeekday, String unixTimeFormat, String unixTimeFormatSeconds, String shortDateSeparator, String timeSeparator, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
143            throws PersistenceNotNullException {
144        super(dateTimeFormatDetailPK);
145        constructFields(dateTimeFormatPK, dateTimeFormatName, javaShortDateFormat, javaAbbrevDateFormat, javaAbbrevDateFormatWeekday, javaLongDateFormat, javaLongDateFormatWeekday, javaTimeFormat, javaTimeFormatSeconds, unixShortDateFormat, unixAbbrevDateFormat, unixAbbrevDateFormatWeekday, unixLongDateFormat, unixLongDateFormatWeekday, unixTimeFormat, unixTimeFormatSeconds, shortDateSeparator, timeSeparator, isDefault, sortOrder, fromTime, thruTime);
146    }
147    
148    /** Creates a new instance of DateTimeFormatDetailValue */
149    public DateTimeFormatDetailValue(DateTimeFormatPK dateTimeFormatPK, String dateTimeFormatName, String javaShortDateFormat, String javaAbbrevDateFormat, String javaAbbrevDateFormatWeekday, String javaLongDateFormat, String javaLongDateFormatWeekday, String javaTimeFormat, String javaTimeFormatSeconds, String unixShortDateFormat, String unixAbbrevDateFormat, String unixAbbrevDateFormatWeekday, String unixLongDateFormat, String unixLongDateFormatWeekday, String unixTimeFormat, String unixTimeFormatSeconds, String shortDateSeparator, String timeSeparator, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime)
150            throws PersistenceNotNullException {
151        super();
152        constructFields(dateTimeFormatPK, dateTimeFormatName, javaShortDateFormat, javaAbbrevDateFormat, javaAbbrevDateFormatWeekday, javaLongDateFormat, javaLongDateFormatWeekday, javaTimeFormat, javaTimeFormatSeconds, unixShortDateFormat, unixAbbrevDateFormat, unixAbbrevDateFormatWeekday, unixLongDateFormat, unixLongDateFormatWeekday, unixTimeFormat, unixTimeFormatSeconds, shortDateSeparator, timeSeparator, isDefault, sortOrder, fromTime, thruTime);
153    }
154    
155    @Override
156    @Nonnull
157    public DateTimeFormatDetailFactory getBaseFactoryInstance() {
158        return DateTimeFormatDetailFactory.getInstance();
159    }
160    
161    @Override
162    @Nonnull
163    public DateTimeFormatDetailValue clone() {
164        Object result;
165        
166        try {
167            result = super.clone();
168        } catch (CloneNotSupportedException cnse) {
169            // This shouldn't happen, fail when it does.
170            throw new PersistenceCloneException(cnse);
171        }
172        
173        return (DateTimeFormatDetailValue)result;
174    }
175    
176    @Override
177    @Nonnull
178    public DateTimeFormatDetailPK getPrimaryKey() {
179        if(_primaryKey == null) {
180            _primaryKey = new DateTimeFormatDetailPK(entityId);
181        }
182        
183        return _primaryKey;
184    }
185    
186    private void clearHashAndString() {
187        _hashCode = null;
188        _stringValue = null;
189    }
190    
191    @Override
192    public int hashCode() {
193        if(_hashCode == null) {
194            int hashCode = 17;
195            
196            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
197            
198            hashCode = 37 * hashCode + ((dateTimeFormatPK != null) ? dateTimeFormatPK.hashCode() : 0);
199            hashCode = 37 * hashCode + ((dateTimeFormatName != null) ? dateTimeFormatName.hashCode() : 0);
200            hashCode = 37 * hashCode + ((javaShortDateFormat != null) ? javaShortDateFormat.hashCode() : 0);
201            hashCode = 37 * hashCode + ((javaAbbrevDateFormat != null) ? javaAbbrevDateFormat.hashCode() : 0);
202            hashCode = 37 * hashCode + ((javaAbbrevDateFormatWeekday != null) ? javaAbbrevDateFormatWeekday.hashCode() : 0);
203            hashCode = 37 * hashCode + ((javaLongDateFormat != null) ? javaLongDateFormat.hashCode() : 0);
204            hashCode = 37 * hashCode + ((javaLongDateFormatWeekday != null) ? javaLongDateFormatWeekday.hashCode() : 0);
205            hashCode = 37 * hashCode + ((javaTimeFormat != null) ? javaTimeFormat.hashCode() : 0);
206            hashCode = 37 * hashCode + ((javaTimeFormatSeconds != null) ? javaTimeFormatSeconds.hashCode() : 0);
207            hashCode = 37 * hashCode + ((unixShortDateFormat != null) ? unixShortDateFormat.hashCode() : 0);
208            hashCode = 37 * hashCode + ((unixAbbrevDateFormat != null) ? unixAbbrevDateFormat.hashCode() : 0);
209            hashCode = 37 * hashCode + ((unixAbbrevDateFormatWeekday != null) ? unixAbbrevDateFormatWeekday.hashCode() : 0);
210            hashCode = 37 * hashCode + ((unixLongDateFormat != null) ? unixLongDateFormat.hashCode() : 0);
211            hashCode = 37 * hashCode + ((unixLongDateFormatWeekday != null) ? unixLongDateFormatWeekday.hashCode() : 0);
212            hashCode = 37 * hashCode + ((unixTimeFormat != null) ? unixTimeFormat.hashCode() : 0);
213            hashCode = 37 * hashCode + ((unixTimeFormatSeconds != null) ? unixTimeFormatSeconds.hashCode() : 0);
214            hashCode = 37 * hashCode + ((shortDateSeparator != null) ? shortDateSeparator.hashCode() : 0);
215            hashCode = 37 * hashCode + ((timeSeparator != null) ? timeSeparator.hashCode() : 0);
216            hashCode = 37 * hashCode + ((isDefault != null) ? isDefault.hashCode() : 0);
217            hashCode = 37 * hashCode + ((sortOrder != null) ? sortOrder.hashCode() : 0);
218            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
219            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
220            
221            _hashCode = hashCode;
222        }
223        
224        return _hashCode;
225    }
226    
227    @Override
228    @Nonnull
229    public String toString() {
230        if(_stringValue == null) {
231            _stringValue = "{" + 
232                    "entityId=" + getEntityId() +
233                    ", dateTimeFormatPK=" + getDateTimeFormatPK() +
234                    ", dateTimeFormatName=" + getDateTimeFormatName() +
235                    ", javaShortDateFormat=" + getJavaShortDateFormat() +
236                    ", javaAbbrevDateFormat=" + getJavaAbbrevDateFormat() +
237                    ", javaAbbrevDateFormatWeekday=" + getJavaAbbrevDateFormatWeekday() +
238                    ", javaLongDateFormat=" + getJavaLongDateFormat() +
239                    ", javaLongDateFormatWeekday=" + getJavaLongDateFormatWeekday() +
240                    ", javaTimeFormat=" + getJavaTimeFormat() +
241                    ", javaTimeFormatSeconds=" + getJavaTimeFormatSeconds() +
242                    ", unixShortDateFormat=" + getUnixShortDateFormat() +
243                    ", unixAbbrevDateFormat=" + getUnixAbbrevDateFormat() +
244                    ", unixAbbrevDateFormatWeekday=" + getUnixAbbrevDateFormatWeekday() +
245                    ", unixLongDateFormat=" + getUnixLongDateFormat() +
246                    ", unixLongDateFormatWeekday=" + getUnixLongDateFormatWeekday() +
247                    ", unixTimeFormat=" + getUnixTimeFormat() +
248                    ", unixTimeFormatSeconds=" + getUnixTimeFormatSeconds() +
249                    ", shortDateSeparator=" + getShortDateSeparator() +
250                    ", timeSeparator=" + getTimeSeparator() +
251                    ", isDefault=" + getIsDefault() +
252                    ", sortOrder=" + getSortOrder() +
253                    ", fromTime=" + getFromTime() +
254                    ", thruTime=" + getThruTime() +
255                    "}";
256        }
257        return _stringValue;
258    }
259    
260    @Override
261    public boolean equals(Object other) {
262        if(this == other)
263            return true;
264        
265        if(!hasIdentity())
266            return false;
267        
268        if(other instanceof  DateTimeFormatDetailValue that) {
269            if(!that.hasIdentity())
270                return false;
271            
272            Long thisEntityId = getEntityId();
273            Long thatEntityId = that.getEntityId();
274            
275            boolean objectsEqual = thisEntityId.equals(thatEntityId);
276            if(objectsEqual)
277                objectsEqual = isIdentical(that);
278            
279            return objectsEqual;
280        } else {
281            return false;
282        }
283    }
284    
285    public boolean isIdentical(Object other) {
286        if(other instanceof DateTimeFormatDetailValue that) {
287            boolean objectsEqual = true;
288            
289            
290            if(objectsEqual) {
291                DateTimeFormatPK thisDateTimeFormatPK = getDateTimeFormatPK();
292                DateTimeFormatPK thatDateTimeFormatPK = that.getDateTimeFormatPK();
293                
294                if(thisDateTimeFormatPK == null) {
295                    objectsEqual = objectsEqual && (thatDateTimeFormatPK == null);
296                } else {
297                    objectsEqual = objectsEqual && thisDateTimeFormatPK.equals(thatDateTimeFormatPK);
298                }
299            }
300            
301            if(objectsEqual) {
302                String thisDateTimeFormatName = getDateTimeFormatName();
303                String thatDateTimeFormatName = that.getDateTimeFormatName();
304                
305                if(thisDateTimeFormatName == null) {
306                    objectsEqual = objectsEqual && (thatDateTimeFormatName == null);
307                } else {
308                    objectsEqual = objectsEqual && thisDateTimeFormatName.equals(thatDateTimeFormatName);
309                }
310            }
311            
312            if(objectsEqual) {
313                String thisJavaShortDateFormat = getJavaShortDateFormat();
314                String thatJavaShortDateFormat = that.getJavaShortDateFormat();
315                
316                if(thisJavaShortDateFormat == null) {
317                    objectsEqual = objectsEqual && (thatJavaShortDateFormat == null);
318                } else {
319                    objectsEqual = objectsEqual && thisJavaShortDateFormat.equals(thatJavaShortDateFormat);
320                }
321            }
322            
323            if(objectsEqual) {
324                String thisJavaAbbrevDateFormat = getJavaAbbrevDateFormat();
325                String thatJavaAbbrevDateFormat = that.getJavaAbbrevDateFormat();
326                
327                if(thisJavaAbbrevDateFormat == null) {
328                    objectsEqual = objectsEqual && (thatJavaAbbrevDateFormat == null);
329                } else {
330                    objectsEqual = objectsEqual && thisJavaAbbrevDateFormat.equals(thatJavaAbbrevDateFormat);
331                }
332            }
333            
334            if(objectsEqual) {
335                String thisJavaAbbrevDateFormatWeekday = getJavaAbbrevDateFormatWeekday();
336                String thatJavaAbbrevDateFormatWeekday = that.getJavaAbbrevDateFormatWeekday();
337                
338                if(thisJavaAbbrevDateFormatWeekday == null) {
339                    objectsEqual = objectsEqual && (thatJavaAbbrevDateFormatWeekday == null);
340                } else {
341                    objectsEqual = objectsEqual && thisJavaAbbrevDateFormatWeekday.equals(thatJavaAbbrevDateFormatWeekday);
342                }
343            }
344            
345            if(objectsEqual) {
346                String thisJavaLongDateFormat = getJavaLongDateFormat();
347                String thatJavaLongDateFormat = that.getJavaLongDateFormat();
348                
349                if(thisJavaLongDateFormat == null) {
350                    objectsEqual = objectsEqual && (thatJavaLongDateFormat == null);
351                } else {
352                    objectsEqual = objectsEqual && thisJavaLongDateFormat.equals(thatJavaLongDateFormat);
353                }
354            }
355            
356            if(objectsEqual) {
357                String thisJavaLongDateFormatWeekday = getJavaLongDateFormatWeekday();
358                String thatJavaLongDateFormatWeekday = that.getJavaLongDateFormatWeekday();
359                
360                if(thisJavaLongDateFormatWeekday == null) {
361                    objectsEqual = objectsEqual && (thatJavaLongDateFormatWeekday == null);
362                } else {
363                    objectsEqual = objectsEqual && thisJavaLongDateFormatWeekday.equals(thatJavaLongDateFormatWeekday);
364                }
365            }
366            
367            if(objectsEqual) {
368                String thisJavaTimeFormat = getJavaTimeFormat();
369                String thatJavaTimeFormat = that.getJavaTimeFormat();
370                
371                if(thisJavaTimeFormat == null) {
372                    objectsEqual = objectsEqual && (thatJavaTimeFormat == null);
373                } else {
374                    objectsEqual = objectsEqual && thisJavaTimeFormat.equals(thatJavaTimeFormat);
375                }
376            }
377            
378            if(objectsEqual) {
379                String thisJavaTimeFormatSeconds = getJavaTimeFormatSeconds();
380                String thatJavaTimeFormatSeconds = that.getJavaTimeFormatSeconds();
381                
382                if(thisJavaTimeFormatSeconds == null) {
383                    objectsEqual = objectsEqual && (thatJavaTimeFormatSeconds == null);
384                } else {
385                    objectsEqual = objectsEqual && thisJavaTimeFormatSeconds.equals(thatJavaTimeFormatSeconds);
386                }
387            }
388            
389            if(objectsEqual) {
390                String thisUnixShortDateFormat = getUnixShortDateFormat();
391                String thatUnixShortDateFormat = that.getUnixShortDateFormat();
392                
393                if(thisUnixShortDateFormat == null) {
394                    objectsEqual = objectsEqual && (thatUnixShortDateFormat == null);
395                } else {
396                    objectsEqual = objectsEqual && thisUnixShortDateFormat.equals(thatUnixShortDateFormat);
397                }
398            }
399            
400            if(objectsEqual) {
401                String thisUnixAbbrevDateFormat = getUnixAbbrevDateFormat();
402                String thatUnixAbbrevDateFormat = that.getUnixAbbrevDateFormat();
403                
404                if(thisUnixAbbrevDateFormat == null) {
405                    objectsEqual = objectsEqual && (thatUnixAbbrevDateFormat == null);
406                } else {
407                    objectsEqual = objectsEqual && thisUnixAbbrevDateFormat.equals(thatUnixAbbrevDateFormat);
408                }
409            }
410            
411            if(objectsEqual) {
412                String thisUnixAbbrevDateFormatWeekday = getUnixAbbrevDateFormatWeekday();
413                String thatUnixAbbrevDateFormatWeekday = that.getUnixAbbrevDateFormatWeekday();
414                
415                if(thisUnixAbbrevDateFormatWeekday == null) {
416                    objectsEqual = objectsEqual && (thatUnixAbbrevDateFormatWeekday == null);
417                } else {
418                    objectsEqual = objectsEqual && thisUnixAbbrevDateFormatWeekday.equals(thatUnixAbbrevDateFormatWeekday);
419                }
420            }
421            
422            if(objectsEqual) {
423                String thisUnixLongDateFormat = getUnixLongDateFormat();
424                String thatUnixLongDateFormat = that.getUnixLongDateFormat();
425                
426                if(thisUnixLongDateFormat == null) {
427                    objectsEqual = objectsEqual && (thatUnixLongDateFormat == null);
428                } else {
429                    objectsEqual = objectsEqual && thisUnixLongDateFormat.equals(thatUnixLongDateFormat);
430                }
431            }
432            
433            if(objectsEqual) {
434                String thisUnixLongDateFormatWeekday = getUnixLongDateFormatWeekday();
435                String thatUnixLongDateFormatWeekday = that.getUnixLongDateFormatWeekday();
436                
437                if(thisUnixLongDateFormatWeekday == null) {
438                    objectsEqual = objectsEqual && (thatUnixLongDateFormatWeekday == null);
439                } else {
440                    objectsEqual = objectsEqual && thisUnixLongDateFormatWeekday.equals(thatUnixLongDateFormatWeekday);
441                }
442            }
443            
444            if(objectsEqual) {
445                String thisUnixTimeFormat = getUnixTimeFormat();
446                String thatUnixTimeFormat = that.getUnixTimeFormat();
447                
448                if(thisUnixTimeFormat == null) {
449                    objectsEqual = objectsEqual && (thatUnixTimeFormat == null);
450                } else {
451                    objectsEqual = objectsEqual && thisUnixTimeFormat.equals(thatUnixTimeFormat);
452                }
453            }
454            
455            if(objectsEqual) {
456                String thisUnixTimeFormatSeconds = getUnixTimeFormatSeconds();
457                String thatUnixTimeFormatSeconds = that.getUnixTimeFormatSeconds();
458                
459                if(thisUnixTimeFormatSeconds == null) {
460                    objectsEqual = objectsEqual && (thatUnixTimeFormatSeconds == null);
461                } else {
462                    objectsEqual = objectsEqual && thisUnixTimeFormatSeconds.equals(thatUnixTimeFormatSeconds);
463                }
464            }
465            
466            if(objectsEqual) {
467                String thisShortDateSeparator = getShortDateSeparator();
468                String thatShortDateSeparator = that.getShortDateSeparator();
469                
470                if(thisShortDateSeparator == null) {
471                    objectsEqual = objectsEqual && (thatShortDateSeparator == null);
472                } else {
473                    objectsEqual = objectsEqual && thisShortDateSeparator.equals(thatShortDateSeparator);
474                }
475            }
476            
477            if(objectsEqual) {
478                String thisTimeSeparator = getTimeSeparator();
479                String thatTimeSeparator = that.getTimeSeparator();
480                
481                if(thisTimeSeparator == null) {
482                    objectsEqual = objectsEqual && (thatTimeSeparator == null);
483                } else {
484                    objectsEqual = objectsEqual && thisTimeSeparator.equals(thatTimeSeparator);
485                }
486            }
487            
488            if(objectsEqual) {
489                Boolean thisIsDefault = getIsDefault();
490                Boolean thatIsDefault = that.getIsDefault();
491                
492                if(thisIsDefault == null) {
493                    objectsEqual = objectsEqual && (thatIsDefault == null);
494                } else {
495                    objectsEqual = objectsEqual && thisIsDefault.equals(thatIsDefault);
496                }
497            }
498            
499            if(objectsEqual) {
500                Integer thisSortOrder = getSortOrder();
501                Integer thatSortOrder = that.getSortOrder();
502                
503                if(thisSortOrder == null) {
504                    objectsEqual = objectsEqual && (thatSortOrder == null);
505                } else {
506                    objectsEqual = objectsEqual && thisSortOrder.equals(thatSortOrder);
507                }
508            }
509            
510            if(objectsEqual) {
511                Long thisFromTime = getFromTime();
512                Long thatFromTime = that.getFromTime();
513                
514                if(thisFromTime == null) {
515                    objectsEqual = objectsEqual && (thatFromTime == null);
516                } else {
517                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
518                }
519            }
520            
521            if(objectsEqual) {
522                Long thisThruTime = getThruTime();
523                Long thatThruTime = that.getThruTime();
524                
525                if(thisThruTime == null) {
526                    objectsEqual = objectsEqual && (thatThruTime == null);
527                } else {
528                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
529                }
530            }
531            
532            return objectsEqual;
533        } else {
534            return false;
535        }
536    }
537    
538    @Override
539    public boolean hasBeenModified() {
540        return dateTimeFormatPKHasBeenModified || dateTimeFormatNameHasBeenModified || javaShortDateFormatHasBeenModified || javaAbbrevDateFormatHasBeenModified || javaAbbrevDateFormatWeekdayHasBeenModified || javaLongDateFormatHasBeenModified || javaLongDateFormatWeekdayHasBeenModified || javaTimeFormatHasBeenModified || javaTimeFormatSecondsHasBeenModified || unixShortDateFormatHasBeenModified || unixAbbrevDateFormatHasBeenModified || unixAbbrevDateFormatWeekdayHasBeenModified || unixLongDateFormatHasBeenModified || unixLongDateFormatWeekdayHasBeenModified || unixTimeFormatHasBeenModified || unixTimeFormatSecondsHasBeenModified || shortDateSeparatorHasBeenModified || timeSeparatorHasBeenModified || isDefaultHasBeenModified || sortOrderHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
541    }
542    
543    @Override
544    public void clearHasBeenModified() {
545        dateTimeFormatPKHasBeenModified = false;
546        dateTimeFormatNameHasBeenModified = false;
547        javaShortDateFormatHasBeenModified = false;
548        javaAbbrevDateFormatHasBeenModified = false;
549        javaAbbrevDateFormatWeekdayHasBeenModified = false;
550        javaLongDateFormatHasBeenModified = false;
551        javaLongDateFormatWeekdayHasBeenModified = false;
552        javaTimeFormatHasBeenModified = false;
553        javaTimeFormatSecondsHasBeenModified = false;
554        unixShortDateFormatHasBeenModified = false;
555        unixAbbrevDateFormatHasBeenModified = false;
556        unixAbbrevDateFormatWeekdayHasBeenModified = false;
557        unixLongDateFormatHasBeenModified = false;
558        unixLongDateFormatWeekdayHasBeenModified = false;
559        unixTimeFormatHasBeenModified = false;
560        unixTimeFormatSecondsHasBeenModified = false;
561        shortDateSeparatorHasBeenModified = false;
562        timeSeparatorHasBeenModified = false;
563        isDefaultHasBeenModified = false;
564        sortOrderHasBeenModified = false;
565        fromTimeHasBeenModified = false;
566        thruTimeHasBeenModified = false;
567    }
568    
569    @Nonnull
570    public DateTimeFormatPK getDateTimeFormatPK() {
571        return dateTimeFormatPK;
572    }
573    
574    public void setDateTimeFormatPK(@Nonnull DateTimeFormatPK dateTimeFormatPK)
575            throws PersistenceNotNullException {
576        checkForNull(dateTimeFormatPK);
577        
578        boolean update = true;
579        
580        if(this.dateTimeFormatPK != null) {
581            if(this.dateTimeFormatPK.equals(dateTimeFormatPK)) {
582                update = false;
583            }
584        } else if(dateTimeFormatPK == null) {
585            update = false;
586        }
587        
588        if(update) {
589            this.dateTimeFormatPK = dateTimeFormatPK;
590            dateTimeFormatPKHasBeenModified = true;
591            clearHashAndString();
592        }
593    }
594    
595    public boolean getDateTimeFormatPKHasBeenModified() {
596        return dateTimeFormatPKHasBeenModified;
597    }
598    
599    @Nonnull
600    public String getDateTimeFormatName() {
601        return dateTimeFormatName;
602    }
603    
604    public void setDateTimeFormatName(@Nonnull String dateTimeFormatName)
605            throws PersistenceNotNullException {
606        checkForNull(dateTimeFormatName);
607        
608        boolean update = true;
609        
610        if(this.dateTimeFormatName != null) {
611            if(this.dateTimeFormatName.equals(dateTimeFormatName)) {
612                update = false;
613            }
614        } else if(dateTimeFormatName == null) {
615            update = false;
616        }
617        
618        if(update) {
619            this.dateTimeFormatName = dateTimeFormatName;
620            dateTimeFormatNameHasBeenModified = true;
621            clearHashAndString();
622        }
623    }
624    
625    public boolean getDateTimeFormatNameHasBeenModified() {
626        return dateTimeFormatNameHasBeenModified;
627    }
628    
629    @Nonnull
630    public String getJavaShortDateFormat() {
631        return javaShortDateFormat;
632    }
633    
634    public void setJavaShortDateFormat(@Nonnull String javaShortDateFormat)
635            throws PersistenceNotNullException {
636        checkForNull(javaShortDateFormat);
637        
638        boolean update = true;
639        
640        if(this.javaShortDateFormat != null) {
641            if(this.javaShortDateFormat.equals(javaShortDateFormat)) {
642                update = false;
643            }
644        } else if(javaShortDateFormat == null) {
645            update = false;
646        }
647        
648        if(update) {
649            this.javaShortDateFormat = javaShortDateFormat;
650            javaShortDateFormatHasBeenModified = true;
651            clearHashAndString();
652        }
653    }
654    
655    public boolean getJavaShortDateFormatHasBeenModified() {
656        return javaShortDateFormatHasBeenModified;
657    }
658    
659    @Nonnull
660    public String getJavaAbbrevDateFormat() {
661        return javaAbbrevDateFormat;
662    }
663    
664    public void setJavaAbbrevDateFormat(@Nonnull String javaAbbrevDateFormat)
665            throws PersistenceNotNullException {
666        checkForNull(javaAbbrevDateFormat);
667        
668        boolean update = true;
669        
670        if(this.javaAbbrevDateFormat != null) {
671            if(this.javaAbbrevDateFormat.equals(javaAbbrevDateFormat)) {
672                update = false;
673            }
674        } else if(javaAbbrevDateFormat == null) {
675            update = false;
676        }
677        
678        if(update) {
679            this.javaAbbrevDateFormat = javaAbbrevDateFormat;
680            javaAbbrevDateFormatHasBeenModified = true;
681            clearHashAndString();
682        }
683    }
684    
685    public boolean getJavaAbbrevDateFormatHasBeenModified() {
686        return javaAbbrevDateFormatHasBeenModified;
687    }
688    
689    @Nonnull
690    public String getJavaAbbrevDateFormatWeekday() {
691        return javaAbbrevDateFormatWeekday;
692    }
693    
694    public void setJavaAbbrevDateFormatWeekday(@Nonnull String javaAbbrevDateFormatWeekday)
695            throws PersistenceNotNullException {
696        checkForNull(javaAbbrevDateFormatWeekday);
697        
698        boolean update = true;
699        
700        if(this.javaAbbrevDateFormatWeekday != null) {
701            if(this.javaAbbrevDateFormatWeekday.equals(javaAbbrevDateFormatWeekday)) {
702                update = false;
703            }
704        } else if(javaAbbrevDateFormatWeekday == null) {
705            update = false;
706        }
707        
708        if(update) {
709            this.javaAbbrevDateFormatWeekday = javaAbbrevDateFormatWeekday;
710            javaAbbrevDateFormatWeekdayHasBeenModified = true;
711            clearHashAndString();
712        }
713    }
714    
715    public boolean getJavaAbbrevDateFormatWeekdayHasBeenModified() {
716        return javaAbbrevDateFormatWeekdayHasBeenModified;
717    }
718    
719    @Nonnull
720    public String getJavaLongDateFormat() {
721        return javaLongDateFormat;
722    }
723    
724    public void setJavaLongDateFormat(@Nonnull String javaLongDateFormat)
725            throws PersistenceNotNullException {
726        checkForNull(javaLongDateFormat);
727        
728        boolean update = true;
729        
730        if(this.javaLongDateFormat != null) {
731            if(this.javaLongDateFormat.equals(javaLongDateFormat)) {
732                update = false;
733            }
734        } else if(javaLongDateFormat == null) {
735            update = false;
736        }
737        
738        if(update) {
739            this.javaLongDateFormat = javaLongDateFormat;
740            javaLongDateFormatHasBeenModified = true;
741            clearHashAndString();
742        }
743    }
744    
745    public boolean getJavaLongDateFormatHasBeenModified() {
746        return javaLongDateFormatHasBeenModified;
747    }
748    
749    @Nonnull
750    public String getJavaLongDateFormatWeekday() {
751        return javaLongDateFormatWeekday;
752    }
753    
754    public void setJavaLongDateFormatWeekday(@Nonnull String javaLongDateFormatWeekday)
755            throws PersistenceNotNullException {
756        checkForNull(javaLongDateFormatWeekday);
757        
758        boolean update = true;
759        
760        if(this.javaLongDateFormatWeekday != null) {
761            if(this.javaLongDateFormatWeekday.equals(javaLongDateFormatWeekday)) {
762                update = false;
763            }
764        } else if(javaLongDateFormatWeekday == null) {
765            update = false;
766        }
767        
768        if(update) {
769            this.javaLongDateFormatWeekday = javaLongDateFormatWeekday;
770            javaLongDateFormatWeekdayHasBeenModified = true;
771            clearHashAndString();
772        }
773    }
774    
775    public boolean getJavaLongDateFormatWeekdayHasBeenModified() {
776        return javaLongDateFormatWeekdayHasBeenModified;
777    }
778    
779    @Nonnull
780    public String getJavaTimeFormat() {
781        return javaTimeFormat;
782    }
783    
784    public void setJavaTimeFormat(@Nonnull String javaTimeFormat)
785            throws PersistenceNotNullException {
786        checkForNull(javaTimeFormat);
787        
788        boolean update = true;
789        
790        if(this.javaTimeFormat != null) {
791            if(this.javaTimeFormat.equals(javaTimeFormat)) {
792                update = false;
793            }
794        } else if(javaTimeFormat == null) {
795            update = false;
796        }
797        
798        if(update) {
799            this.javaTimeFormat = javaTimeFormat;
800            javaTimeFormatHasBeenModified = true;
801            clearHashAndString();
802        }
803    }
804    
805    public boolean getJavaTimeFormatHasBeenModified() {
806        return javaTimeFormatHasBeenModified;
807    }
808    
809    @Nonnull
810    public String getJavaTimeFormatSeconds() {
811        return javaTimeFormatSeconds;
812    }
813    
814    public void setJavaTimeFormatSeconds(@Nonnull String javaTimeFormatSeconds)
815            throws PersistenceNotNullException {
816        checkForNull(javaTimeFormatSeconds);
817        
818        boolean update = true;
819        
820        if(this.javaTimeFormatSeconds != null) {
821            if(this.javaTimeFormatSeconds.equals(javaTimeFormatSeconds)) {
822                update = false;
823            }
824        } else if(javaTimeFormatSeconds == null) {
825            update = false;
826        }
827        
828        if(update) {
829            this.javaTimeFormatSeconds = javaTimeFormatSeconds;
830            javaTimeFormatSecondsHasBeenModified = true;
831            clearHashAndString();
832        }
833    }
834    
835    public boolean getJavaTimeFormatSecondsHasBeenModified() {
836        return javaTimeFormatSecondsHasBeenModified;
837    }
838    
839    @Nonnull
840    public String getUnixShortDateFormat() {
841        return unixShortDateFormat;
842    }
843    
844    public void setUnixShortDateFormat(@Nonnull String unixShortDateFormat)
845            throws PersistenceNotNullException {
846        checkForNull(unixShortDateFormat);
847        
848        boolean update = true;
849        
850        if(this.unixShortDateFormat != null) {
851            if(this.unixShortDateFormat.equals(unixShortDateFormat)) {
852                update = false;
853            }
854        } else if(unixShortDateFormat == null) {
855            update = false;
856        }
857        
858        if(update) {
859            this.unixShortDateFormat = unixShortDateFormat;
860            unixShortDateFormatHasBeenModified = true;
861            clearHashAndString();
862        }
863    }
864    
865    public boolean getUnixShortDateFormatHasBeenModified() {
866        return unixShortDateFormatHasBeenModified;
867    }
868    
869    @Nonnull
870    public String getUnixAbbrevDateFormat() {
871        return unixAbbrevDateFormat;
872    }
873    
874    public void setUnixAbbrevDateFormat(@Nonnull String unixAbbrevDateFormat)
875            throws PersistenceNotNullException {
876        checkForNull(unixAbbrevDateFormat);
877        
878        boolean update = true;
879        
880        if(this.unixAbbrevDateFormat != null) {
881            if(this.unixAbbrevDateFormat.equals(unixAbbrevDateFormat)) {
882                update = false;
883            }
884        } else if(unixAbbrevDateFormat == null) {
885            update = false;
886        }
887        
888        if(update) {
889            this.unixAbbrevDateFormat = unixAbbrevDateFormat;
890            unixAbbrevDateFormatHasBeenModified = true;
891            clearHashAndString();
892        }
893    }
894    
895    public boolean getUnixAbbrevDateFormatHasBeenModified() {
896        return unixAbbrevDateFormatHasBeenModified;
897    }
898    
899    @Nonnull
900    public String getUnixAbbrevDateFormatWeekday() {
901        return unixAbbrevDateFormatWeekday;
902    }
903    
904    public void setUnixAbbrevDateFormatWeekday(@Nonnull String unixAbbrevDateFormatWeekday)
905            throws PersistenceNotNullException {
906        checkForNull(unixAbbrevDateFormatWeekday);
907        
908        boolean update = true;
909        
910        if(this.unixAbbrevDateFormatWeekday != null) {
911            if(this.unixAbbrevDateFormatWeekday.equals(unixAbbrevDateFormatWeekday)) {
912                update = false;
913            }
914        } else if(unixAbbrevDateFormatWeekday == null) {
915            update = false;
916        }
917        
918        if(update) {
919            this.unixAbbrevDateFormatWeekday = unixAbbrevDateFormatWeekday;
920            unixAbbrevDateFormatWeekdayHasBeenModified = true;
921            clearHashAndString();
922        }
923    }
924    
925    public boolean getUnixAbbrevDateFormatWeekdayHasBeenModified() {
926        return unixAbbrevDateFormatWeekdayHasBeenModified;
927    }
928    
929    @Nonnull
930    public String getUnixLongDateFormat() {
931        return unixLongDateFormat;
932    }
933    
934    public void setUnixLongDateFormat(@Nonnull String unixLongDateFormat)
935            throws PersistenceNotNullException {
936        checkForNull(unixLongDateFormat);
937        
938        boolean update = true;
939        
940        if(this.unixLongDateFormat != null) {
941            if(this.unixLongDateFormat.equals(unixLongDateFormat)) {
942                update = false;
943            }
944        } else if(unixLongDateFormat == null) {
945            update = false;
946        }
947        
948        if(update) {
949            this.unixLongDateFormat = unixLongDateFormat;
950            unixLongDateFormatHasBeenModified = true;
951            clearHashAndString();
952        }
953    }
954    
955    public boolean getUnixLongDateFormatHasBeenModified() {
956        return unixLongDateFormatHasBeenModified;
957    }
958    
959    @Nonnull
960    public String getUnixLongDateFormatWeekday() {
961        return unixLongDateFormatWeekday;
962    }
963    
964    public void setUnixLongDateFormatWeekday(@Nonnull String unixLongDateFormatWeekday)
965            throws PersistenceNotNullException {
966        checkForNull(unixLongDateFormatWeekday);
967        
968        boolean update = true;
969        
970        if(this.unixLongDateFormatWeekday != null) {
971            if(this.unixLongDateFormatWeekday.equals(unixLongDateFormatWeekday)) {
972                update = false;
973            }
974        } else if(unixLongDateFormatWeekday == null) {
975            update = false;
976        }
977        
978        if(update) {
979            this.unixLongDateFormatWeekday = unixLongDateFormatWeekday;
980            unixLongDateFormatWeekdayHasBeenModified = true;
981            clearHashAndString();
982        }
983    }
984    
985    public boolean getUnixLongDateFormatWeekdayHasBeenModified() {
986        return unixLongDateFormatWeekdayHasBeenModified;
987    }
988    
989    @Nonnull
990    public String getUnixTimeFormat() {
991        return unixTimeFormat;
992    }
993    
994    public void setUnixTimeFormat(@Nonnull String unixTimeFormat)
995            throws PersistenceNotNullException {
996        checkForNull(unixTimeFormat);
997        
998        boolean update = true;
999        
1000        if(this.unixTimeFormat != null) {
1001            if(this.unixTimeFormat.equals(unixTimeFormat)) {
1002                update = false;
1003            }
1004        } else if(unixTimeFormat == null) {
1005            update = false;
1006        }
1007        
1008        if(update) {
1009            this.unixTimeFormat = unixTimeFormat;
1010            unixTimeFormatHasBeenModified = true;
1011            clearHashAndString();
1012        }
1013    }
1014    
1015    public boolean getUnixTimeFormatHasBeenModified() {
1016        return unixTimeFormatHasBeenModified;
1017    }
1018    
1019    @Nonnull
1020    public String getUnixTimeFormatSeconds() {
1021        return unixTimeFormatSeconds;
1022    }
1023    
1024    public void setUnixTimeFormatSeconds(@Nonnull String unixTimeFormatSeconds)
1025            throws PersistenceNotNullException {
1026        checkForNull(unixTimeFormatSeconds);
1027        
1028        boolean update = true;
1029        
1030        if(this.unixTimeFormatSeconds != null) {
1031            if(this.unixTimeFormatSeconds.equals(unixTimeFormatSeconds)) {
1032                update = false;
1033            }
1034        } else if(unixTimeFormatSeconds == null) {
1035            update = false;
1036        }
1037        
1038        if(update) {
1039            this.unixTimeFormatSeconds = unixTimeFormatSeconds;
1040            unixTimeFormatSecondsHasBeenModified = true;
1041            clearHashAndString();
1042        }
1043    }
1044    
1045    public boolean getUnixTimeFormatSecondsHasBeenModified() {
1046        return unixTimeFormatSecondsHasBeenModified;
1047    }
1048    
1049    @Nonnull
1050    public String getShortDateSeparator() {
1051        return shortDateSeparator;
1052    }
1053    
1054    public void setShortDateSeparator(@Nonnull String shortDateSeparator)
1055            throws PersistenceNotNullException {
1056        checkForNull(shortDateSeparator);
1057        
1058        boolean update = true;
1059        
1060        if(this.shortDateSeparator != null) {
1061            if(this.shortDateSeparator.equals(shortDateSeparator)) {
1062                update = false;
1063            }
1064        } else if(shortDateSeparator == null) {
1065            update = false;
1066        }
1067        
1068        if(update) {
1069            this.shortDateSeparator = shortDateSeparator;
1070            shortDateSeparatorHasBeenModified = true;
1071            clearHashAndString();
1072        }
1073    }
1074    
1075    public boolean getShortDateSeparatorHasBeenModified() {
1076        return shortDateSeparatorHasBeenModified;
1077    }
1078    
1079    @Nonnull
1080    public String getTimeSeparator() {
1081        return timeSeparator;
1082    }
1083    
1084    public void setTimeSeparator(@Nonnull String timeSeparator)
1085            throws PersistenceNotNullException {
1086        checkForNull(timeSeparator);
1087        
1088        boolean update = true;
1089        
1090        if(this.timeSeparator != null) {
1091            if(this.timeSeparator.equals(timeSeparator)) {
1092                update = false;
1093            }
1094        } else if(timeSeparator == null) {
1095            update = false;
1096        }
1097        
1098        if(update) {
1099            this.timeSeparator = timeSeparator;
1100            timeSeparatorHasBeenModified = true;
1101            clearHashAndString();
1102        }
1103    }
1104    
1105    public boolean getTimeSeparatorHasBeenModified() {
1106        return timeSeparatorHasBeenModified;
1107    }
1108    
1109    @Nonnull
1110    public Boolean getIsDefault() {
1111        return isDefault;
1112    }
1113    
1114    public void setIsDefault(@Nonnull Boolean isDefault)
1115            throws PersistenceNotNullException {
1116        checkForNull(isDefault);
1117        
1118        boolean update = true;
1119        
1120        if(this.isDefault != null) {
1121            if(this.isDefault.equals(isDefault)) {
1122                update = false;
1123            }
1124        } else if(isDefault == null) {
1125            update = false;
1126        }
1127        
1128        if(update) {
1129            this.isDefault = isDefault;
1130            isDefaultHasBeenModified = true;
1131            clearHashAndString();
1132        }
1133    }
1134    
1135    public boolean getIsDefaultHasBeenModified() {
1136        return isDefaultHasBeenModified;
1137    }
1138    
1139    @Nonnull
1140    public Integer getSortOrder() {
1141        return sortOrder;
1142    }
1143    
1144    public void setSortOrder(@Nonnull Integer sortOrder)
1145            throws PersistenceNotNullException {
1146        checkForNull(sortOrder);
1147        
1148        boolean update = true;
1149        
1150        if(this.sortOrder != null) {
1151            if(this.sortOrder.equals(sortOrder)) {
1152                update = false;
1153            }
1154        } else if(sortOrder == null) {
1155            update = false;
1156        }
1157        
1158        if(update) {
1159            this.sortOrder = sortOrder;
1160            sortOrderHasBeenModified = true;
1161            clearHashAndString();
1162        }
1163    }
1164    
1165    public boolean getSortOrderHasBeenModified() {
1166        return sortOrderHasBeenModified;
1167    }
1168    
1169    @Nonnull
1170    public Long getFromTime() {
1171        return fromTime;
1172    }
1173    
1174    public void setFromTime(@Nonnull Long fromTime)
1175            throws PersistenceNotNullException {
1176        checkForNull(fromTime);
1177        
1178        boolean update = true;
1179        
1180        if(this.fromTime != null) {
1181            if(this.fromTime.equals(fromTime)) {
1182                update = false;
1183            }
1184        } else if(fromTime == null) {
1185            update = false;
1186        }
1187        
1188        if(update) {
1189            this.fromTime = fromTime;
1190            fromTimeHasBeenModified = true;
1191            clearHashAndString();
1192        }
1193    }
1194    
1195    public boolean getFromTimeHasBeenModified() {
1196        return fromTimeHasBeenModified;
1197    }
1198    
1199    @Nonnull
1200    public Long getThruTime() {
1201        return thruTime;
1202    }
1203    
1204    public void setThruTime(@Nonnull Long thruTime)
1205            throws PersistenceNotNullException {
1206        checkForNull(thruTime);
1207        
1208        boolean update = true;
1209        
1210        if(this.thruTime != null) {
1211            if(this.thruTime.equals(thruTime)) {
1212                update = false;
1213            }
1214        } else if(thruTime == null) {
1215            update = false;
1216        }
1217        
1218        if(update) {
1219            this.thruTime = thruTime;
1220            thruTimeHasBeenModified = true;
1221            clearHashAndString();
1222        }
1223    }
1224    
1225    public boolean getThruTimeHasBeenModified() {
1226        return thruTimeHasBeenModified;
1227    }
1228    
1229}