001// --------------------------------------------------------------------------------
002// Copyright 2002-2025 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 * CarrierServiceOptionValue.java
021 */
022
023package com.echothree.model.data.carrier.server.value;
024
025import com.echothree.model.data.carrier.common.pk.CarrierServiceOptionPK;
026
027import com.echothree.model.data.carrier.server.factory.CarrierServiceOptionFactory;
028
029import com.echothree.model.data.carrier.common.pk.CarrierServicePK;
030import com.echothree.model.data.carrier.common.pk.CarrierOptionPK;
031import com.echothree.model.data.selector.common.pk.SelectorPK;
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 CarrierServiceOptionValue
041        extends BaseValue<CarrierServiceOptionPK>
042        implements Cloneable, Serializable {
043    
044    private CarrierServicePK carrierServicePK;
045    private boolean carrierServicePKHasBeenModified = false;
046    private CarrierOptionPK carrierOptionPK;
047    private boolean carrierOptionPKHasBeenModified = false;
048    private Boolean isRecommended;
049    private boolean isRecommendedHasBeenModified = false;
050    private Boolean isRequired;
051    private boolean isRequiredHasBeenModified = false;
052    private SelectorPK recommendedGeoCodeSelectorPK;
053    private boolean recommendedGeoCodeSelectorPKHasBeenModified = false;
054    private SelectorPK requiredGeoCodeSelectorPK;
055    private boolean requiredGeoCodeSelectorPKHasBeenModified = false;
056    private SelectorPK recommendedItemSelectorPK;
057    private boolean recommendedItemSelectorPKHasBeenModified = false;
058    private SelectorPK requiredItemSelectorPK;
059    private boolean requiredItemSelectorPKHasBeenModified = false;
060    private SelectorPK recommendedOrderSelectorPK;
061    private boolean recommendedOrderSelectorPKHasBeenModified = false;
062    private SelectorPK requiredOrderSelectorPK;
063    private boolean requiredOrderSelectorPKHasBeenModified = false;
064    private SelectorPK recommendedShipmentSelectorPK;
065    private boolean recommendedShipmentSelectorPKHasBeenModified = false;
066    private SelectorPK requiredShipmentSelectorPK;
067    private boolean requiredShipmentSelectorPKHasBeenModified = false;
068    private Long fromTime;
069    private boolean fromTimeHasBeenModified = false;
070    private Long thruTime;
071    private boolean thruTimeHasBeenModified = false;
072    
073    private transient Integer _hashCode = null;
074    private transient String _stringValue = null;
075    
076    private void constructFields(CarrierServicePK carrierServicePK, CarrierOptionPK carrierOptionPK, Boolean isRecommended, Boolean isRequired, SelectorPK recommendedGeoCodeSelectorPK, SelectorPK requiredGeoCodeSelectorPK, SelectorPK recommendedItemSelectorPK, SelectorPK requiredItemSelectorPK, SelectorPK recommendedOrderSelectorPK, SelectorPK requiredOrderSelectorPK, SelectorPK recommendedShipmentSelectorPK, SelectorPK requiredShipmentSelectorPK, Long fromTime, Long thruTime)
077            throws PersistenceNotNullException {
078        checkForNull(carrierServicePK);
079        this.carrierServicePK = carrierServicePK;
080        checkForNull(carrierOptionPK);
081        this.carrierOptionPK = carrierOptionPK;
082        checkForNull(isRecommended);
083        this.isRecommended = isRecommended;
084        checkForNull(isRequired);
085        this.isRequired = isRequired;
086        this.recommendedGeoCodeSelectorPK = recommendedGeoCodeSelectorPK;
087        this.requiredGeoCodeSelectorPK = requiredGeoCodeSelectorPK;
088        this.recommendedItemSelectorPK = recommendedItemSelectorPK;
089        this.requiredItemSelectorPK = requiredItemSelectorPK;
090        this.recommendedOrderSelectorPK = recommendedOrderSelectorPK;
091        this.requiredOrderSelectorPK = requiredOrderSelectorPK;
092        this.recommendedShipmentSelectorPK = recommendedShipmentSelectorPK;
093        this.requiredShipmentSelectorPK = requiredShipmentSelectorPK;
094        checkForNull(fromTime);
095        this.fromTime = fromTime;
096        checkForNull(thruTime);
097        this.thruTime = thruTime;
098    }
099    
100    /** Creates a new instance of CarrierServiceOptionValue */
101    public CarrierServiceOptionValue(CarrierServiceOptionPK carrierServiceOptionPK, CarrierServicePK carrierServicePK, CarrierOptionPK carrierOptionPK, Boolean isRecommended, Boolean isRequired, SelectorPK recommendedGeoCodeSelectorPK, SelectorPK requiredGeoCodeSelectorPK, SelectorPK recommendedItemSelectorPK, SelectorPK requiredItemSelectorPK, SelectorPK recommendedOrderSelectorPK, SelectorPK requiredOrderSelectorPK, SelectorPK recommendedShipmentSelectorPK, SelectorPK requiredShipmentSelectorPK, Long fromTime, Long thruTime)
102            throws PersistenceNotNullException {
103        super(carrierServiceOptionPK);
104        constructFields(carrierServicePK, carrierOptionPK, isRecommended, isRequired, recommendedGeoCodeSelectorPK, requiredGeoCodeSelectorPK, recommendedItemSelectorPK, requiredItemSelectorPK, recommendedOrderSelectorPK, requiredOrderSelectorPK, recommendedShipmentSelectorPK, requiredShipmentSelectorPK, fromTime, thruTime);
105    }
106    
107    /** Creates a new instance of CarrierServiceOptionValue */
108    public CarrierServiceOptionValue(CarrierServicePK carrierServicePK, CarrierOptionPK carrierOptionPK, Boolean isRecommended, Boolean isRequired, SelectorPK recommendedGeoCodeSelectorPK, SelectorPK requiredGeoCodeSelectorPK, SelectorPK recommendedItemSelectorPK, SelectorPK requiredItemSelectorPK, SelectorPK recommendedOrderSelectorPK, SelectorPK requiredOrderSelectorPK, SelectorPK recommendedShipmentSelectorPK, SelectorPK requiredShipmentSelectorPK, Long fromTime, Long thruTime)
109            throws PersistenceNotNullException {
110        super();
111        constructFields(carrierServicePK, carrierOptionPK, isRecommended, isRequired, recommendedGeoCodeSelectorPK, requiredGeoCodeSelectorPK, recommendedItemSelectorPK, requiredItemSelectorPK, recommendedOrderSelectorPK, requiredOrderSelectorPK, recommendedShipmentSelectorPK, requiredShipmentSelectorPK, fromTime, thruTime);
112    }
113    
114   @Override
115   public CarrierServiceOptionFactory getBaseFactoryInstance() {
116        return CarrierServiceOptionFactory.getInstance();
117    }
118    
119    @Override
120    public CarrierServiceOptionValue clone() {
121        Object result;
122        
123        try {
124            result = super.clone();
125        } catch (CloneNotSupportedException cnse) {
126            // This shouldn't happen, fail when it does.
127            throw new PersistenceCloneException(cnse);
128        }
129        
130        return (CarrierServiceOptionValue)result;
131    }
132    
133   @Override
134    public CarrierServiceOptionPK getPrimaryKey() {
135        if(_primaryKey == null) {
136            _primaryKey = new CarrierServiceOptionPK(entityId);
137        }
138        
139        return _primaryKey;
140    }
141    
142    private void clearHashAndString() {
143        _hashCode = null;
144        _stringValue = null;
145    }
146    
147    @Override
148    public int hashCode() {
149        if(_hashCode == null) {
150            int hashCode = 17;
151            
152            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
153            
154            hashCode = 37 * hashCode + ((carrierServicePK != null) ? carrierServicePK.hashCode() : 0);
155            hashCode = 37 * hashCode + ((carrierOptionPK != null) ? carrierOptionPK.hashCode() : 0);
156            hashCode = 37 * hashCode + ((isRecommended != null) ? isRecommended.hashCode() : 0);
157            hashCode = 37 * hashCode + ((isRequired != null) ? isRequired.hashCode() : 0);
158            hashCode = 37 * hashCode + ((recommendedGeoCodeSelectorPK != null) ? recommendedGeoCodeSelectorPK.hashCode() : 0);
159            hashCode = 37 * hashCode + ((requiredGeoCodeSelectorPK != null) ? requiredGeoCodeSelectorPK.hashCode() : 0);
160            hashCode = 37 * hashCode + ((recommendedItemSelectorPK != null) ? recommendedItemSelectorPK.hashCode() : 0);
161            hashCode = 37 * hashCode + ((requiredItemSelectorPK != null) ? requiredItemSelectorPK.hashCode() : 0);
162            hashCode = 37 * hashCode + ((recommendedOrderSelectorPK != null) ? recommendedOrderSelectorPK.hashCode() : 0);
163            hashCode = 37 * hashCode + ((requiredOrderSelectorPK != null) ? requiredOrderSelectorPK.hashCode() : 0);
164            hashCode = 37 * hashCode + ((recommendedShipmentSelectorPK != null) ? recommendedShipmentSelectorPK.hashCode() : 0);
165            hashCode = 37 * hashCode + ((requiredShipmentSelectorPK != null) ? requiredShipmentSelectorPK.hashCode() : 0);
166            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
167            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
168            
169            _hashCode = hashCode;
170        }
171        
172        return _hashCode;
173    }
174    
175    @Override
176    public String toString() {
177        if(_stringValue == null) {
178            _stringValue = "{" + 
179                    "entityId=" + getEntityId() +
180                    ", carrierServicePK=" + getCarrierServicePK() +
181                    ", carrierOptionPK=" + getCarrierOptionPK() +
182                    ", isRecommended=" + getIsRecommended() +
183                    ", isRequired=" + getIsRequired() +
184                    ", recommendedGeoCodeSelectorPK=" + getRecommendedGeoCodeSelectorPK() +
185                    ", requiredGeoCodeSelectorPK=" + getRequiredGeoCodeSelectorPK() +
186                    ", recommendedItemSelectorPK=" + getRecommendedItemSelectorPK() +
187                    ", requiredItemSelectorPK=" + getRequiredItemSelectorPK() +
188                    ", recommendedOrderSelectorPK=" + getRecommendedOrderSelectorPK() +
189                    ", requiredOrderSelectorPK=" + getRequiredOrderSelectorPK() +
190                    ", recommendedShipmentSelectorPK=" + getRecommendedShipmentSelectorPK() +
191                    ", requiredShipmentSelectorPK=" + getRequiredShipmentSelectorPK() +
192                    ", fromTime=" + getFromTime() +
193                    ", thruTime=" + getThruTime() +
194                    "}";
195        }
196        return _stringValue;
197    }
198    
199    @Override
200    public boolean equals(Object other) {
201        if(this == other)
202            return true;
203        
204        if(!hasIdentity())
205            return false;
206        
207        if(other instanceof  CarrierServiceOptionValue that) {
208            if(!that.hasIdentity())
209                return false;
210            
211            Long thisEntityId = getEntityId();
212            Long thatEntityId = that.getEntityId();
213            
214            boolean objectsEqual = thisEntityId.equals(thatEntityId);
215            if(objectsEqual)
216                objectsEqual = isIdentical(that);
217            
218            return objectsEqual;
219        } else {
220            return false;
221        }
222    }
223    
224    public boolean isIdentical(Object other) {
225        if(other instanceof CarrierServiceOptionValue that) {
226            boolean objectsEqual = true;
227            
228            
229            if(objectsEqual) {
230                CarrierServicePK thisCarrierServicePK = getCarrierServicePK();
231                CarrierServicePK thatCarrierServicePK = that.getCarrierServicePK();
232                
233                if(thisCarrierServicePK == null) {
234                    objectsEqual = objectsEqual && (thatCarrierServicePK == null);
235                } else {
236                    objectsEqual = objectsEqual && thisCarrierServicePK.equals(thatCarrierServicePK);
237                }
238            }
239            
240            if(objectsEqual) {
241                CarrierOptionPK thisCarrierOptionPK = getCarrierOptionPK();
242                CarrierOptionPK thatCarrierOptionPK = that.getCarrierOptionPK();
243                
244                if(thisCarrierOptionPK == null) {
245                    objectsEqual = objectsEqual && (thatCarrierOptionPK == null);
246                } else {
247                    objectsEqual = objectsEqual && thisCarrierOptionPK.equals(thatCarrierOptionPK);
248                }
249            }
250            
251            if(objectsEqual) {
252                Boolean thisIsRecommended = getIsRecommended();
253                Boolean thatIsRecommended = that.getIsRecommended();
254                
255                if(thisIsRecommended == null) {
256                    objectsEqual = objectsEqual && (thatIsRecommended == null);
257                } else {
258                    objectsEqual = objectsEqual && thisIsRecommended.equals(thatIsRecommended);
259                }
260            }
261            
262            if(objectsEqual) {
263                Boolean thisIsRequired = getIsRequired();
264                Boolean thatIsRequired = that.getIsRequired();
265                
266                if(thisIsRequired == null) {
267                    objectsEqual = objectsEqual && (thatIsRequired == null);
268                } else {
269                    objectsEqual = objectsEqual && thisIsRequired.equals(thatIsRequired);
270                }
271            }
272            
273            if(objectsEqual) {
274                SelectorPK thisRecommendedGeoCodeSelectorPK = getRecommendedGeoCodeSelectorPK();
275                SelectorPK thatRecommendedGeoCodeSelectorPK = that.getRecommendedGeoCodeSelectorPK();
276                
277                if(thisRecommendedGeoCodeSelectorPK == null) {
278                    objectsEqual = objectsEqual && (thatRecommendedGeoCodeSelectorPK == null);
279                } else {
280                    objectsEqual = objectsEqual && thisRecommendedGeoCodeSelectorPK.equals(thatRecommendedGeoCodeSelectorPK);
281                }
282            }
283            
284            if(objectsEqual) {
285                SelectorPK thisRequiredGeoCodeSelectorPK = getRequiredGeoCodeSelectorPK();
286                SelectorPK thatRequiredGeoCodeSelectorPK = that.getRequiredGeoCodeSelectorPK();
287                
288                if(thisRequiredGeoCodeSelectorPK == null) {
289                    objectsEqual = objectsEqual && (thatRequiredGeoCodeSelectorPK == null);
290                } else {
291                    objectsEqual = objectsEqual && thisRequiredGeoCodeSelectorPK.equals(thatRequiredGeoCodeSelectorPK);
292                }
293            }
294            
295            if(objectsEqual) {
296                SelectorPK thisRecommendedItemSelectorPK = getRecommendedItemSelectorPK();
297                SelectorPK thatRecommendedItemSelectorPK = that.getRecommendedItemSelectorPK();
298                
299                if(thisRecommendedItemSelectorPK == null) {
300                    objectsEqual = objectsEqual && (thatRecommendedItemSelectorPK == null);
301                } else {
302                    objectsEqual = objectsEqual && thisRecommendedItemSelectorPK.equals(thatRecommendedItemSelectorPK);
303                }
304            }
305            
306            if(objectsEqual) {
307                SelectorPK thisRequiredItemSelectorPK = getRequiredItemSelectorPK();
308                SelectorPK thatRequiredItemSelectorPK = that.getRequiredItemSelectorPK();
309                
310                if(thisRequiredItemSelectorPK == null) {
311                    objectsEqual = objectsEqual && (thatRequiredItemSelectorPK == null);
312                } else {
313                    objectsEqual = objectsEqual && thisRequiredItemSelectorPK.equals(thatRequiredItemSelectorPK);
314                }
315            }
316            
317            if(objectsEqual) {
318                SelectorPK thisRecommendedOrderSelectorPK = getRecommendedOrderSelectorPK();
319                SelectorPK thatRecommendedOrderSelectorPK = that.getRecommendedOrderSelectorPK();
320                
321                if(thisRecommendedOrderSelectorPK == null) {
322                    objectsEqual = objectsEqual && (thatRecommendedOrderSelectorPK == null);
323                } else {
324                    objectsEqual = objectsEqual && thisRecommendedOrderSelectorPK.equals(thatRecommendedOrderSelectorPK);
325                }
326            }
327            
328            if(objectsEqual) {
329                SelectorPK thisRequiredOrderSelectorPK = getRequiredOrderSelectorPK();
330                SelectorPK thatRequiredOrderSelectorPK = that.getRequiredOrderSelectorPK();
331                
332                if(thisRequiredOrderSelectorPK == null) {
333                    objectsEqual = objectsEqual && (thatRequiredOrderSelectorPK == null);
334                } else {
335                    objectsEqual = objectsEqual && thisRequiredOrderSelectorPK.equals(thatRequiredOrderSelectorPK);
336                }
337            }
338            
339            if(objectsEqual) {
340                SelectorPK thisRecommendedShipmentSelectorPK = getRecommendedShipmentSelectorPK();
341                SelectorPK thatRecommendedShipmentSelectorPK = that.getRecommendedShipmentSelectorPK();
342                
343                if(thisRecommendedShipmentSelectorPK == null) {
344                    objectsEqual = objectsEqual && (thatRecommendedShipmentSelectorPK == null);
345                } else {
346                    objectsEqual = objectsEqual && thisRecommendedShipmentSelectorPK.equals(thatRecommendedShipmentSelectorPK);
347                }
348            }
349            
350            if(objectsEqual) {
351                SelectorPK thisRequiredShipmentSelectorPK = getRequiredShipmentSelectorPK();
352                SelectorPK thatRequiredShipmentSelectorPK = that.getRequiredShipmentSelectorPK();
353                
354                if(thisRequiredShipmentSelectorPK == null) {
355                    objectsEqual = objectsEqual && (thatRequiredShipmentSelectorPK == null);
356                } else {
357                    objectsEqual = objectsEqual && thisRequiredShipmentSelectorPK.equals(thatRequiredShipmentSelectorPK);
358                }
359            }
360            
361            if(objectsEqual) {
362                Long thisFromTime = getFromTime();
363                Long thatFromTime = that.getFromTime();
364                
365                if(thisFromTime == null) {
366                    objectsEqual = objectsEqual && (thatFromTime == null);
367                } else {
368                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
369                }
370            }
371            
372            if(objectsEqual) {
373                Long thisThruTime = getThruTime();
374                Long thatThruTime = that.getThruTime();
375                
376                if(thisThruTime == null) {
377                    objectsEqual = objectsEqual && (thatThruTime == null);
378                } else {
379                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
380                }
381            }
382            
383            return objectsEqual;
384        } else {
385            return false;
386        }
387    }
388    
389    @Override
390    public boolean hasBeenModified() {
391        return carrierServicePKHasBeenModified || carrierOptionPKHasBeenModified || isRecommendedHasBeenModified || isRequiredHasBeenModified || recommendedGeoCodeSelectorPKHasBeenModified || requiredGeoCodeSelectorPKHasBeenModified || recommendedItemSelectorPKHasBeenModified || requiredItemSelectorPKHasBeenModified || recommendedOrderSelectorPKHasBeenModified || requiredOrderSelectorPKHasBeenModified || recommendedShipmentSelectorPKHasBeenModified || requiredShipmentSelectorPKHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
392    }
393    
394    @Override
395    public void clearHasBeenModified() {
396        carrierServicePKHasBeenModified = false;
397        carrierOptionPKHasBeenModified = false;
398        isRecommendedHasBeenModified = false;
399        isRequiredHasBeenModified = false;
400        recommendedGeoCodeSelectorPKHasBeenModified = false;
401        requiredGeoCodeSelectorPKHasBeenModified = false;
402        recommendedItemSelectorPKHasBeenModified = false;
403        requiredItemSelectorPKHasBeenModified = false;
404        recommendedOrderSelectorPKHasBeenModified = false;
405        requiredOrderSelectorPKHasBeenModified = false;
406        recommendedShipmentSelectorPKHasBeenModified = false;
407        requiredShipmentSelectorPKHasBeenModified = false;
408        fromTimeHasBeenModified = false;
409        thruTimeHasBeenModified = false;
410    }
411    
412    public CarrierServicePK getCarrierServicePK() {
413        return carrierServicePK;
414    }
415    
416    public void setCarrierServicePK(CarrierServicePK carrierServicePK)
417            throws PersistenceNotNullException {
418        checkForNull(carrierServicePK);
419        
420        boolean update = true;
421        
422        if(this.carrierServicePK != null) {
423            if(this.carrierServicePK.equals(carrierServicePK)) {
424                update = false;
425            }
426        } else if(carrierServicePK == null) {
427            update = false;
428        }
429        
430        if(update) {
431            this.carrierServicePK = carrierServicePK;
432            carrierServicePKHasBeenModified = true;
433            clearHashAndString();
434        }
435    }
436    
437    public boolean getCarrierServicePKHasBeenModified() {
438        return carrierServicePKHasBeenModified;
439    }
440    
441    public CarrierOptionPK getCarrierOptionPK() {
442        return carrierOptionPK;
443    }
444    
445    public void setCarrierOptionPK(CarrierOptionPK carrierOptionPK)
446            throws PersistenceNotNullException {
447        checkForNull(carrierOptionPK);
448        
449        boolean update = true;
450        
451        if(this.carrierOptionPK != null) {
452            if(this.carrierOptionPK.equals(carrierOptionPK)) {
453                update = false;
454            }
455        } else if(carrierOptionPK == null) {
456            update = false;
457        }
458        
459        if(update) {
460            this.carrierOptionPK = carrierOptionPK;
461            carrierOptionPKHasBeenModified = true;
462            clearHashAndString();
463        }
464    }
465    
466    public boolean getCarrierOptionPKHasBeenModified() {
467        return carrierOptionPKHasBeenModified;
468    }
469    
470    public Boolean getIsRecommended() {
471        return isRecommended;
472    }
473    
474    public void setIsRecommended(Boolean isRecommended)
475            throws PersistenceNotNullException {
476        checkForNull(isRecommended);
477        
478        boolean update = true;
479        
480        if(this.isRecommended != null) {
481            if(this.isRecommended.equals(isRecommended)) {
482                update = false;
483            }
484        } else if(isRecommended == null) {
485            update = false;
486        }
487        
488        if(update) {
489            this.isRecommended = isRecommended;
490            isRecommendedHasBeenModified = true;
491            clearHashAndString();
492        }
493    }
494    
495    public boolean getIsRecommendedHasBeenModified() {
496        return isRecommendedHasBeenModified;
497    }
498    
499    public Boolean getIsRequired() {
500        return isRequired;
501    }
502    
503    public void setIsRequired(Boolean isRequired)
504            throws PersistenceNotNullException {
505        checkForNull(isRequired);
506        
507        boolean update = true;
508        
509        if(this.isRequired != null) {
510            if(this.isRequired.equals(isRequired)) {
511                update = false;
512            }
513        } else if(isRequired == null) {
514            update = false;
515        }
516        
517        if(update) {
518            this.isRequired = isRequired;
519            isRequiredHasBeenModified = true;
520            clearHashAndString();
521        }
522    }
523    
524    public boolean getIsRequiredHasBeenModified() {
525        return isRequiredHasBeenModified;
526    }
527    
528    public SelectorPK getRecommendedGeoCodeSelectorPK() {
529        return recommendedGeoCodeSelectorPK;
530    }
531    
532    public void setRecommendedGeoCodeSelectorPK(SelectorPK recommendedGeoCodeSelectorPK) {
533        boolean update = true;
534        
535        if(this.recommendedGeoCodeSelectorPK != null) {
536            if(this.recommendedGeoCodeSelectorPK.equals(recommendedGeoCodeSelectorPK)) {
537                update = false;
538            }
539        } else if(recommendedGeoCodeSelectorPK == null) {
540            update = false;
541        }
542        
543        if(update) {
544            this.recommendedGeoCodeSelectorPK = recommendedGeoCodeSelectorPK;
545            recommendedGeoCodeSelectorPKHasBeenModified = true;
546            clearHashAndString();
547        }
548    }
549    
550    public boolean getRecommendedGeoCodeSelectorPKHasBeenModified() {
551        return recommendedGeoCodeSelectorPKHasBeenModified;
552    }
553    
554    public SelectorPK getRequiredGeoCodeSelectorPK() {
555        return requiredGeoCodeSelectorPK;
556    }
557    
558    public void setRequiredGeoCodeSelectorPK(SelectorPK requiredGeoCodeSelectorPK) {
559        boolean update = true;
560        
561        if(this.requiredGeoCodeSelectorPK != null) {
562            if(this.requiredGeoCodeSelectorPK.equals(requiredGeoCodeSelectorPK)) {
563                update = false;
564            }
565        } else if(requiredGeoCodeSelectorPK == null) {
566            update = false;
567        }
568        
569        if(update) {
570            this.requiredGeoCodeSelectorPK = requiredGeoCodeSelectorPK;
571            requiredGeoCodeSelectorPKHasBeenModified = true;
572            clearHashAndString();
573        }
574    }
575    
576    public boolean getRequiredGeoCodeSelectorPKHasBeenModified() {
577        return requiredGeoCodeSelectorPKHasBeenModified;
578    }
579    
580    public SelectorPK getRecommendedItemSelectorPK() {
581        return recommendedItemSelectorPK;
582    }
583    
584    public void setRecommendedItemSelectorPK(SelectorPK recommendedItemSelectorPK) {
585        boolean update = true;
586        
587        if(this.recommendedItemSelectorPK != null) {
588            if(this.recommendedItemSelectorPK.equals(recommendedItemSelectorPK)) {
589                update = false;
590            }
591        } else if(recommendedItemSelectorPK == null) {
592            update = false;
593        }
594        
595        if(update) {
596            this.recommendedItemSelectorPK = recommendedItemSelectorPK;
597            recommendedItemSelectorPKHasBeenModified = true;
598            clearHashAndString();
599        }
600    }
601    
602    public boolean getRecommendedItemSelectorPKHasBeenModified() {
603        return recommendedItemSelectorPKHasBeenModified;
604    }
605    
606    public SelectorPK getRequiredItemSelectorPK() {
607        return requiredItemSelectorPK;
608    }
609    
610    public void setRequiredItemSelectorPK(SelectorPK requiredItemSelectorPK) {
611        boolean update = true;
612        
613        if(this.requiredItemSelectorPK != null) {
614            if(this.requiredItemSelectorPK.equals(requiredItemSelectorPK)) {
615                update = false;
616            }
617        } else if(requiredItemSelectorPK == null) {
618            update = false;
619        }
620        
621        if(update) {
622            this.requiredItemSelectorPK = requiredItemSelectorPK;
623            requiredItemSelectorPKHasBeenModified = true;
624            clearHashAndString();
625        }
626    }
627    
628    public boolean getRequiredItemSelectorPKHasBeenModified() {
629        return requiredItemSelectorPKHasBeenModified;
630    }
631    
632    public SelectorPK getRecommendedOrderSelectorPK() {
633        return recommendedOrderSelectorPK;
634    }
635    
636    public void setRecommendedOrderSelectorPK(SelectorPK recommendedOrderSelectorPK) {
637        boolean update = true;
638        
639        if(this.recommendedOrderSelectorPK != null) {
640            if(this.recommendedOrderSelectorPK.equals(recommendedOrderSelectorPK)) {
641                update = false;
642            }
643        } else if(recommendedOrderSelectorPK == null) {
644            update = false;
645        }
646        
647        if(update) {
648            this.recommendedOrderSelectorPK = recommendedOrderSelectorPK;
649            recommendedOrderSelectorPKHasBeenModified = true;
650            clearHashAndString();
651        }
652    }
653    
654    public boolean getRecommendedOrderSelectorPKHasBeenModified() {
655        return recommendedOrderSelectorPKHasBeenModified;
656    }
657    
658    public SelectorPK getRequiredOrderSelectorPK() {
659        return requiredOrderSelectorPK;
660    }
661    
662    public void setRequiredOrderSelectorPK(SelectorPK requiredOrderSelectorPK) {
663        boolean update = true;
664        
665        if(this.requiredOrderSelectorPK != null) {
666            if(this.requiredOrderSelectorPK.equals(requiredOrderSelectorPK)) {
667                update = false;
668            }
669        } else if(requiredOrderSelectorPK == null) {
670            update = false;
671        }
672        
673        if(update) {
674            this.requiredOrderSelectorPK = requiredOrderSelectorPK;
675            requiredOrderSelectorPKHasBeenModified = true;
676            clearHashAndString();
677        }
678    }
679    
680    public boolean getRequiredOrderSelectorPKHasBeenModified() {
681        return requiredOrderSelectorPKHasBeenModified;
682    }
683    
684    public SelectorPK getRecommendedShipmentSelectorPK() {
685        return recommendedShipmentSelectorPK;
686    }
687    
688    public void setRecommendedShipmentSelectorPK(SelectorPK recommendedShipmentSelectorPK) {
689        boolean update = true;
690        
691        if(this.recommendedShipmentSelectorPK != null) {
692            if(this.recommendedShipmentSelectorPK.equals(recommendedShipmentSelectorPK)) {
693                update = false;
694            }
695        } else if(recommendedShipmentSelectorPK == null) {
696            update = false;
697        }
698        
699        if(update) {
700            this.recommendedShipmentSelectorPK = recommendedShipmentSelectorPK;
701            recommendedShipmentSelectorPKHasBeenModified = true;
702            clearHashAndString();
703        }
704    }
705    
706    public boolean getRecommendedShipmentSelectorPKHasBeenModified() {
707        return recommendedShipmentSelectorPKHasBeenModified;
708    }
709    
710    public SelectorPK getRequiredShipmentSelectorPK() {
711        return requiredShipmentSelectorPK;
712    }
713    
714    public void setRequiredShipmentSelectorPK(SelectorPK requiredShipmentSelectorPK) {
715        boolean update = true;
716        
717        if(this.requiredShipmentSelectorPK != null) {
718            if(this.requiredShipmentSelectorPK.equals(requiredShipmentSelectorPK)) {
719                update = false;
720            }
721        } else if(requiredShipmentSelectorPK == null) {
722            update = false;
723        }
724        
725        if(update) {
726            this.requiredShipmentSelectorPK = requiredShipmentSelectorPK;
727            requiredShipmentSelectorPKHasBeenModified = true;
728            clearHashAndString();
729        }
730    }
731    
732    public boolean getRequiredShipmentSelectorPKHasBeenModified() {
733        return requiredShipmentSelectorPKHasBeenModified;
734    }
735    
736    public Long getFromTime() {
737        return fromTime;
738    }
739    
740    public void setFromTime(Long fromTime)
741            throws PersistenceNotNullException {
742        checkForNull(fromTime);
743        
744        boolean update = true;
745        
746        if(this.fromTime != null) {
747            if(this.fromTime.equals(fromTime)) {
748                update = false;
749            }
750        } else if(fromTime == null) {
751            update = false;
752        }
753        
754        if(update) {
755            this.fromTime = fromTime;
756            fromTimeHasBeenModified = true;
757            clearHashAndString();
758        }
759    }
760    
761    public boolean getFromTimeHasBeenModified() {
762        return fromTimeHasBeenModified;
763    }
764    
765    public Long getThruTime() {
766        return thruTime;
767    }
768    
769    public void setThruTime(Long thruTime)
770            throws PersistenceNotNullException {
771        checkForNull(thruTime);
772        
773        boolean update = true;
774        
775        if(this.thruTime != null) {
776            if(this.thruTime.equals(thruTime)) {
777                update = false;
778            }
779        } else if(thruTime == null) {
780            update = false;
781        }
782        
783        if(update) {
784            this.thruTime = thruTime;
785            thruTimeHasBeenModified = true;
786            clearHashAndString();
787        }
788    }
789    
790    public boolean getThruTimeHasBeenModified() {
791        return thruTimeHasBeenModified;
792    }
793    
794}