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 * CurrencyValue.java
021 */
022
023package com.echothree.model.data.accounting.server.value;
024
025import com.echothree.model.data.accounting.common.pk.CurrencyPK;
026
027import com.echothree.model.data.accounting.server.factory.CurrencyFactory;
028
029import com.echothree.model.data.accounting.common.pk.SymbolPositionPK;
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 CurrencyValue
042        extends BaseValue<CurrencyPK>
043        implements Cloneable, Serializable {
044    
045    private String currencyIsoName;
046    private boolean currencyIsoNameHasBeenModified = false;
047    private String symbol;
048    private boolean symbolHasBeenModified = false;
049    private SymbolPositionPK symbolPositionPK;
050    private boolean symbolPositionPKHasBeenModified = false;
051    private Boolean symbolOnListStart;
052    private boolean symbolOnListStartHasBeenModified = false;
053    private Boolean symbolOnListMember;
054    private boolean symbolOnListMemberHasBeenModified = false;
055    private Boolean symbolOnSubtotal;
056    private boolean symbolOnSubtotalHasBeenModified = false;
057    private Boolean symbolOnTotal;
058    private boolean symbolOnTotalHasBeenModified = false;
059    private String groupingSeparator;
060    private boolean groupingSeparatorHasBeenModified = false;
061    private Integer groupingSize;
062    private boolean groupingSizeHasBeenModified = false;
063    private String fractionSeparator;
064    private boolean fractionSeparatorHasBeenModified = false;
065    private Integer defaultFractionDigits;
066    private boolean defaultFractionDigitsHasBeenModified = false;
067    private Integer priceUnitFractionDigits;
068    private boolean priceUnitFractionDigitsHasBeenModified = false;
069    private Integer priceLineFractionDigits;
070    private boolean priceLineFractionDigitsHasBeenModified = false;
071    private Integer costUnitFractionDigits;
072    private boolean costUnitFractionDigitsHasBeenModified = false;
073    private Integer costLineFractionDigits;
074    private boolean costLineFractionDigitsHasBeenModified = false;
075    private String minusSign;
076    private boolean minusSignHasBeenModified = false;
077    private Boolean isDefault;
078    private boolean isDefaultHasBeenModified = false;
079    private Integer sortOrder;
080    private boolean sortOrderHasBeenModified = false;
081    
082    private transient Integer _hashCode = null;
083    private transient String _stringValue = null;
084    
085    private void constructFields(String currencyIsoName, String symbol, SymbolPositionPK symbolPositionPK, Boolean symbolOnListStart, Boolean symbolOnListMember, Boolean symbolOnSubtotal, Boolean symbolOnTotal, String groupingSeparator, Integer groupingSize, String fractionSeparator, Integer defaultFractionDigits, Integer priceUnitFractionDigits, Integer priceLineFractionDigits, Integer costUnitFractionDigits, Integer costLineFractionDigits, String minusSign, Boolean isDefault, Integer sortOrder)
086            throws PersistenceNotNullException {
087        checkForNull(currencyIsoName);
088        this.currencyIsoName = currencyIsoName;
089        this.symbol = symbol;
090        checkForNull(symbolPositionPK);
091        this.symbolPositionPK = symbolPositionPK;
092        this.symbolOnListStart = symbolOnListStart;
093        this.symbolOnListMember = symbolOnListMember;
094        this.symbolOnSubtotal = symbolOnSubtotal;
095        this.symbolOnTotal = symbolOnTotal;
096        checkForNull(groupingSeparator);
097        this.groupingSeparator = groupingSeparator;
098        checkForNull(groupingSize);
099        this.groupingSize = groupingSize;
100        this.fractionSeparator = fractionSeparator;
101        this.defaultFractionDigits = defaultFractionDigits;
102        this.priceUnitFractionDigits = priceUnitFractionDigits;
103        this.priceLineFractionDigits = priceLineFractionDigits;
104        this.costUnitFractionDigits = costUnitFractionDigits;
105        this.costLineFractionDigits = costLineFractionDigits;
106        checkForNull(minusSign);
107        this.minusSign = minusSign;
108        checkForNull(isDefault);
109        this.isDefault = isDefault;
110        checkForNull(sortOrder);
111        this.sortOrder = sortOrder;
112    }
113    
114    /** Creates a new instance of CurrencyValue */
115    public CurrencyValue(CurrencyPK currencyPK, String currencyIsoName, String symbol, SymbolPositionPK symbolPositionPK, Boolean symbolOnListStart, Boolean symbolOnListMember, Boolean symbolOnSubtotal, Boolean symbolOnTotal, String groupingSeparator, Integer groupingSize, String fractionSeparator, Integer defaultFractionDigits, Integer priceUnitFractionDigits, Integer priceLineFractionDigits, Integer costUnitFractionDigits, Integer costLineFractionDigits, String minusSign, Boolean isDefault, Integer sortOrder)
116            throws PersistenceNotNullException {
117        super(currencyPK);
118        constructFields(currencyIsoName, symbol, symbolPositionPK, symbolOnListStart, symbolOnListMember, symbolOnSubtotal, symbolOnTotal, groupingSeparator, groupingSize, fractionSeparator, defaultFractionDigits, priceUnitFractionDigits, priceLineFractionDigits, costUnitFractionDigits, costLineFractionDigits, minusSign, isDefault, sortOrder);
119    }
120    
121    /** Creates a new instance of CurrencyValue */
122    public CurrencyValue(String currencyIsoName, String symbol, SymbolPositionPK symbolPositionPK, Boolean symbolOnListStart, Boolean symbolOnListMember, Boolean symbolOnSubtotal, Boolean symbolOnTotal, String groupingSeparator, Integer groupingSize, String fractionSeparator, Integer defaultFractionDigits, Integer priceUnitFractionDigits, Integer priceLineFractionDigits, Integer costUnitFractionDigits, Integer costLineFractionDigits, String minusSign, Boolean isDefault, Integer sortOrder)
123            throws PersistenceNotNullException {
124        super();
125        constructFields(currencyIsoName, symbol, symbolPositionPK, symbolOnListStart, symbolOnListMember, symbolOnSubtotal, symbolOnTotal, groupingSeparator, groupingSize, fractionSeparator, defaultFractionDigits, priceUnitFractionDigits, priceLineFractionDigits, costUnitFractionDigits, costLineFractionDigits, minusSign, isDefault, sortOrder);
126    }
127    
128    @Override
129    @Nonnull
130    public CurrencyFactory getBaseFactoryInstance() {
131        return CurrencyFactory.getInstance();
132    }
133    
134    @Override
135    @Nonnull
136    public CurrencyValue clone() {
137        Object result;
138        
139        try {
140            result = super.clone();
141        } catch (CloneNotSupportedException cnse) {
142            // This shouldn't happen, fail when it does.
143            throw new PersistenceCloneException(cnse);
144        }
145        
146        return (CurrencyValue)result;
147    }
148    
149    @Override
150    @Nonnull
151    public CurrencyPK getPrimaryKey() {
152        if(_primaryKey == null) {
153            _primaryKey = new CurrencyPK(entityId);
154        }
155        
156        return _primaryKey;
157    }
158    
159    private void clearHashAndString() {
160        _hashCode = null;
161        _stringValue = null;
162    }
163    
164    @Override
165    public int hashCode() {
166        if(_hashCode == null) {
167            int hashCode = 17;
168            
169            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
170            
171            hashCode = 37 * hashCode + ((currencyIsoName != null) ? currencyIsoName.hashCode() : 0);
172            hashCode = 37 * hashCode + ((symbol != null) ? symbol.hashCode() : 0);
173            hashCode = 37 * hashCode + ((symbolPositionPK != null) ? symbolPositionPK.hashCode() : 0);
174            hashCode = 37 * hashCode + ((symbolOnListStart != null) ? symbolOnListStart.hashCode() : 0);
175            hashCode = 37 * hashCode + ((symbolOnListMember != null) ? symbolOnListMember.hashCode() : 0);
176            hashCode = 37 * hashCode + ((symbolOnSubtotal != null) ? symbolOnSubtotal.hashCode() : 0);
177            hashCode = 37 * hashCode + ((symbolOnTotal != null) ? symbolOnTotal.hashCode() : 0);
178            hashCode = 37 * hashCode + ((groupingSeparator != null) ? groupingSeparator.hashCode() : 0);
179            hashCode = 37 * hashCode + ((groupingSize != null) ? groupingSize.hashCode() : 0);
180            hashCode = 37 * hashCode + ((fractionSeparator != null) ? fractionSeparator.hashCode() : 0);
181            hashCode = 37 * hashCode + ((defaultFractionDigits != null) ? defaultFractionDigits.hashCode() : 0);
182            hashCode = 37 * hashCode + ((priceUnitFractionDigits != null) ? priceUnitFractionDigits.hashCode() : 0);
183            hashCode = 37 * hashCode + ((priceLineFractionDigits != null) ? priceLineFractionDigits.hashCode() : 0);
184            hashCode = 37 * hashCode + ((costUnitFractionDigits != null) ? costUnitFractionDigits.hashCode() : 0);
185            hashCode = 37 * hashCode + ((costLineFractionDigits != null) ? costLineFractionDigits.hashCode() : 0);
186            hashCode = 37 * hashCode + ((minusSign != null) ? minusSign.hashCode() : 0);
187            hashCode = 37 * hashCode + ((isDefault != null) ? isDefault.hashCode() : 0);
188            hashCode = 37 * hashCode + ((sortOrder != null) ? sortOrder.hashCode() : 0);
189            
190            _hashCode = hashCode;
191        }
192        
193        return _hashCode;
194    }
195    
196    @Override
197    @Nonnull
198    public String toString() {
199        if(_stringValue == null) {
200            _stringValue = "{" + 
201                    "entityId=" + getEntityId() +
202                    ", currencyIsoName=" + getCurrencyIsoName() +
203                    ", symbol=" + getSymbol() +
204                    ", symbolPositionPK=" + getSymbolPositionPK() +
205                    ", symbolOnListStart=" + getSymbolOnListStart() +
206                    ", symbolOnListMember=" + getSymbolOnListMember() +
207                    ", symbolOnSubtotal=" + getSymbolOnSubtotal() +
208                    ", symbolOnTotal=" + getSymbolOnTotal() +
209                    ", groupingSeparator=" + getGroupingSeparator() +
210                    ", groupingSize=" + getGroupingSize() +
211                    ", fractionSeparator=" + getFractionSeparator() +
212                    ", defaultFractionDigits=" + getDefaultFractionDigits() +
213                    ", priceUnitFractionDigits=" + getPriceUnitFractionDigits() +
214                    ", priceLineFractionDigits=" + getPriceLineFractionDigits() +
215                    ", costUnitFractionDigits=" + getCostUnitFractionDigits() +
216                    ", costLineFractionDigits=" + getCostLineFractionDigits() +
217                    ", minusSign=" + getMinusSign() +
218                    ", isDefault=" + getIsDefault() +
219                    ", sortOrder=" + getSortOrder() +
220                    "}";
221        }
222        return _stringValue;
223    }
224    
225    @Override
226    public boolean equals(Object other) {
227        if(this == other)
228            return true;
229        
230        if(!hasIdentity())
231            return false;
232        
233        if(other instanceof  CurrencyValue that) {
234            if(!that.hasIdentity())
235                return false;
236            
237            Long thisEntityId = getEntityId();
238            Long thatEntityId = that.getEntityId();
239            
240            boolean objectsEqual = thisEntityId.equals(thatEntityId);
241            if(objectsEqual)
242                objectsEqual = isIdentical(that);
243            
244            return objectsEqual;
245        } else {
246            return false;
247        }
248    }
249    
250    public boolean isIdentical(Object other) {
251        if(other instanceof CurrencyValue that) {
252            boolean objectsEqual = true;
253            
254            
255            if(objectsEqual) {
256                String thisCurrencyIsoName = getCurrencyIsoName();
257                String thatCurrencyIsoName = that.getCurrencyIsoName();
258                
259                if(thisCurrencyIsoName == null) {
260                    objectsEqual = objectsEqual && (thatCurrencyIsoName == null);
261                } else {
262                    objectsEqual = objectsEqual && thisCurrencyIsoName.equals(thatCurrencyIsoName);
263                }
264            }
265            
266            if(objectsEqual) {
267                String thisSymbol = getSymbol();
268                String thatSymbol = that.getSymbol();
269                
270                if(thisSymbol == null) {
271                    objectsEqual = objectsEqual && (thatSymbol == null);
272                } else {
273                    objectsEqual = objectsEqual && thisSymbol.equals(thatSymbol);
274                }
275            }
276            
277            if(objectsEqual) {
278                SymbolPositionPK thisSymbolPositionPK = getSymbolPositionPK();
279                SymbolPositionPK thatSymbolPositionPK = that.getSymbolPositionPK();
280                
281                if(thisSymbolPositionPK == null) {
282                    objectsEqual = objectsEqual && (thatSymbolPositionPK == null);
283                } else {
284                    objectsEqual = objectsEqual && thisSymbolPositionPK.equals(thatSymbolPositionPK);
285                }
286            }
287            
288            if(objectsEqual) {
289                Boolean thisSymbolOnListStart = getSymbolOnListStart();
290                Boolean thatSymbolOnListStart = that.getSymbolOnListStart();
291                
292                if(thisSymbolOnListStart == null) {
293                    objectsEqual = objectsEqual && (thatSymbolOnListStart == null);
294                } else {
295                    objectsEqual = objectsEqual && thisSymbolOnListStart.equals(thatSymbolOnListStart);
296                }
297            }
298            
299            if(objectsEqual) {
300                Boolean thisSymbolOnListMember = getSymbolOnListMember();
301                Boolean thatSymbolOnListMember = that.getSymbolOnListMember();
302                
303                if(thisSymbolOnListMember == null) {
304                    objectsEqual = objectsEqual && (thatSymbolOnListMember == null);
305                } else {
306                    objectsEqual = objectsEqual && thisSymbolOnListMember.equals(thatSymbolOnListMember);
307                }
308            }
309            
310            if(objectsEqual) {
311                Boolean thisSymbolOnSubtotal = getSymbolOnSubtotal();
312                Boolean thatSymbolOnSubtotal = that.getSymbolOnSubtotal();
313                
314                if(thisSymbolOnSubtotal == null) {
315                    objectsEqual = objectsEqual && (thatSymbolOnSubtotal == null);
316                } else {
317                    objectsEqual = objectsEqual && thisSymbolOnSubtotal.equals(thatSymbolOnSubtotal);
318                }
319            }
320            
321            if(objectsEqual) {
322                Boolean thisSymbolOnTotal = getSymbolOnTotal();
323                Boolean thatSymbolOnTotal = that.getSymbolOnTotal();
324                
325                if(thisSymbolOnTotal == null) {
326                    objectsEqual = objectsEqual && (thatSymbolOnTotal == null);
327                } else {
328                    objectsEqual = objectsEqual && thisSymbolOnTotal.equals(thatSymbolOnTotal);
329                }
330            }
331            
332            if(objectsEqual) {
333                String thisGroupingSeparator = getGroupingSeparator();
334                String thatGroupingSeparator = that.getGroupingSeparator();
335                
336                if(thisGroupingSeparator == null) {
337                    objectsEqual = objectsEqual && (thatGroupingSeparator == null);
338                } else {
339                    objectsEqual = objectsEqual && thisGroupingSeparator.equals(thatGroupingSeparator);
340                }
341            }
342            
343            if(objectsEqual) {
344                Integer thisGroupingSize = getGroupingSize();
345                Integer thatGroupingSize = that.getGroupingSize();
346                
347                if(thisGroupingSize == null) {
348                    objectsEqual = objectsEqual && (thatGroupingSize == null);
349                } else {
350                    objectsEqual = objectsEqual && thisGroupingSize.equals(thatGroupingSize);
351                }
352            }
353            
354            if(objectsEqual) {
355                String thisFractionSeparator = getFractionSeparator();
356                String thatFractionSeparator = that.getFractionSeparator();
357                
358                if(thisFractionSeparator == null) {
359                    objectsEqual = objectsEqual && (thatFractionSeparator == null);
360                } else {
361                    objectsEqual = objectsEqual && thisFractionSeparator.equals(thatFractionSeparator);
362                }
363            }
364            
365            if(objectsEqual) {
366                Integer thisDefaultFractionDigits = getDefaultFractionDigits();
367                Integer thatDefaultFractionDigits = that.getDefaultFractionDigits();
368                
369                if(thisDefaultFractionDigits == null) {
370                    objectsEqual = objectsEqual && (thatDefaultFractionDigits == null);
371                } else {
372                    objectsEqual = objectsEqual && thisDefaultFractionDigits.equals(thatDefaultFractionDigits);
373                }
374            }
375            
376            if(objectsEqual) {
377                Integer thisPriceUnitFractionDigits = getPriceUnitFractionDigits();
378                Integer thatPriceUnitFractionDigits = that.getPriceUnitFractionDigits();
379                
380                if(thisPriceUnitFractionDigits == null) {
381                    objectsEqual = objectsEqual && (thatPriceUnitFractionDigits == null);
382                } else {
383                    objectsEqual = objectsEqual && thisPriceUnitFractionDigits.equals(thatPriceUnitFractionDigits);
384                }
385            }
386            
387            if(objectsEqual) {
388                Integer thisPriceLineFractionDigits = getPriceLineFractionDigits();
389                Integer thatPriceLineFractionDigits = that.getPriceLineFractionDigits();
390                
391                if(thisPriceLineFractionDigits == null) {
392                    objectsEqual = objectsEqual && (thatPriceLineFractionDigits == null);
393                } else {
394                    objectsEqual = objectsEqual && thisPriceLineFractionDigits.equals(thatPriceLineFractionDigits);
395                }
396            }
397            
398            if(objectsEqual) {
399                Integer thisCostUnitFractionDigits = getCostUnitFractionDigits();
400                Integer thatCostUnitFractionDigits = that.getCostUnitFractionDigits();
401                
402                if(thisCostUnitFractionDigits == null) {
403                    objectsEqual = objectsEqual && (thatCostUnitFractionDigits == null);
404                } else {
405                    objectsEqual = objectsEqual && thisCostUnitFractionDigits.equals(thatCostUnitFractionDigits);
406                }
407            }
408            
409            if(objectsEqual) {
410                Integer thisCostLineFractionDigits = getCostLineFractionDigits();
411                Integer thatCostLineFractionDigits = that.getCostLineFractionDigits();
412                
413                if(thisCostLineFractionDigits == null) {
414                    objectsEqual = objectsEqual && (thatCostLineFractionDigits == null);
415                } else {
416                    objectsEqual = objectsEqual && thisCostLineFractionDigits.equals(thatCostLineFractionDigits);
417                }
418            }
419            
420            if(objectsEqual) {
421                String thisMinusSign = getMinusSign();
422                String thatMinusSign = that.getMinusSign();
423                
424                if(thisMinusSign == null) {
425                    objectsEqual = objectsEqual && (thatMinusSign == null);
426                } else {
427                    objectsEqual = objectsEqual && thisMinusSign.equals(thatMinusSign);
428                }
429            }
430            
431            if(objectsEqual) {
432                Boolean thisIsDefault = getIsDefault();
433                Boolean thatIsDefault = that.getIsDefault();
434                
435                if(thisIsDefault == null) {
436                    objectsEqual = objectsEqual && (thatIsDefault == null);
437                } else {
438                    objectsEqual = objectsEqual && thisIsDefault.equals(thatIsDefault);
439                }
440            }
441            
442            if(objectsEqual) {
443                Integer thisSortOrder = getSortOrder();
444                Integer thatSortOrder = that.getSortOrder();
445                
446                if(thisSortOrder == null) {
447                    objectsEqual = objectsEqual && (thatSortOrder == null);
448                } else {
449                    objectsEqual = objectsEqual && thisSortOrder.equals(thatSortOrder);
450                }
451            }
452            
453            return objectsEqual;
454        } else {
455            return false;
456        }
457    }
458    
459    @Override
460    public boolean hasBeenModified() {
461        return currencyIsoNameHasBeenModified || symbolHasBeenModified || symbolPositionPKHasBeenModified || symbolOnListStartHasBeenModified || symbolOnListMemberHasBeenModified || symbolOnSubtotalHasBeenModified || symbolOnTotalHasBeenModified || groupingSeparatorHasBeenModified || groupingSizeHasBeenModified || fractionSeparatorHasBeenModified || defaultFractionDigitsHasBeenModified || priceUnitFractionDigitsHasBeenModified || priceLineFractionDigitsHasBeenModified || costUnitFractionDigitsHasBeenModified || costLineFractionDigitsHasBeenModified || minusSignHasBeenModified || isDefaultHasBeenModified || sortOrderHasBeenModified;
462    }
463    
464    @Override
465    public void clearHasBeenModified() {
466        currencyIsoNameHasBeenModified = false;
467        symbolHasBeenModified = false;
468        symbolPositionPKHasBeenModified = false;
469        symbolOnListStartHasBeenModified = false;
470        symbolOnListMemberHasBeenModified = false;
471        symbolOnSubtotalHasBeenModified = false;
472        symbolOnTotalHasBeenModified = false;
473        groupingSeparatorHasBeenModified = false;
474        groupingSizeHasBeenModified = false;
475        fractionSeparatorHasBeenModified = false;
476        defaultFractionDigitsHasBeenModified = false;
477        priceUnitFractionDigitsHasBeenModified = false;
478        priceLineFractionDigitsHasBeenModified = false;
479        costUnitFractionDigitsHasBeenModified = false;
480        costLineFractionDigitsHasBeenModified = false;
481        minusSignHasBeenModified = false;
482        isDefaultHasBeenModified = false;
483        sortOrderHasBeenModified = false;
484    }
485    
486    @Nonnull
487    public String getCurrencyIsoName() {
488        return currencyIsoName;
489    }
490    
491    public void setCurrencyIsoName(@Nonnull String currencyIsoName)
492            throws PersistenceNotNullException {
493        checkForNull(currencyIsoName);
494        
495        boolean update = true;
496        
497        if(this.currencyIsoName != null) {
498            if(this.currencyIsoName.equals(currencyIsoName)) {
499                update = false;
500            }
501        } else if(currencyIsoName == null) {
502            update = false;
503        }
504        
505        if(update) {
506            this.currencyIsoName = currencyIsoName;
507            currencyIsoNameHasBeenModified = true;
508            clearHashAndString();
509        }
510    }
511    
512    public boolean getCurrencyIsoNameHasBeenModified() {
513        return currencyIsoNameHasBeenModified;
514    }
515    
516    @Nullable
517    public String getSymbol() {
518        return symbol;
519    }
520    
521    public void setSymbol(@Nullable String symbol) {
522        boolean update = true;
523        
524        if(this.symbol != null) {
525            if(this.symbol.equals(symbol)) {
526                update = false;
527            }
528        } else if(symbol == null) {
529            update = false;
530        }
531        
532        if(update) {
533            this.symbol = symbol;
534            symbolHasBeenModified = true;
535            clearHashAndString();
536        }
537    }
538    
539    public boolean getSymbolHasBeenModified() {
540        return symbolHasBeenModified;
541    }
542    
543    @Nonnull
544    public SymbolPositionPK getSymbolPositionPK() {
545        return symbolPositionPK;
546    }
547    
548    public void setSymbolPositionPK(@Nonnull SymbolPositionPK symbolPositionPK)
549            throws PersistenceNotNullException {
550        checkForNull(symbolPositionPK);
551        
552        boolean update = true;
553        
554        if(this.symbolPositionPK != null) {
555            if(this.symbolPositionPK.equals(symbolPositionPK)) {
556                update = false;
557            }
558        } else if(symbolPositionPK == null) {
559            update = false;
560        }
561        
562        if(update) {
563            this.symbolPositionPK = symbolPositionPK;
564            symbolPositionPKHasBeenModified = true;
565            clearHashAndString();
566        }
567    }
568    
569    public boolean getSymbolPositionPKHasBeenModified() {
570        return symbolPositionPKHasBeenModified;
571    }
572    
573    @Nullable
574    public Boolean getSymbolOnListStart() {
575        return symbolOnListStart;
576    }
577    
578    public void setSymbolOnListStart(@Nullable Boolean symbolOnListStart) {
579        boolean update = true;
580        
581        if(this.symbolOnListStart != null) {
582            if(this.symbolOnListStart.equals(symbolOnListStart)) {
583                update = false;
584            }
585        } else if(symbolOnListStart == null) {
586            update = false;
587        }
588        
589        if(update) {
590            this.symbolOnListStart = symbolOnListStart;
591            symbolOnListStartHasBeenModified = true;
592            clearHashAndString();
593        }
594    }
595    
596    public boolean getSymbolOnListStartHasBeenModified() {
597        return symbolOnListStartHasBeenModified;
598    }
599    
600    @Nullable
601    public Boolean getSymbolOnListMember() {
602        return symbolOnListMember;
603    }
604    
605    public void setSymbolOnListMember(@Nullable Boolean symbolOnListMember) {
606        boolean update = true;
607        
608        if(this.symbolOnListMember != null) {
609            if(this.symbolOnListMember.equals(symbolOnListMember)) {
610                update = false;
611            }
612        } else if(symbolOnListMember == null) {
613            update = false;
614        }
615        
616        if(update) {
617            this.symbolOnListMember = symbolOnListMember;
618            symbolOnListMemberHasBeenModified = true;
619            clearHashAndString();
620        }
621    }
622    
623    public boolean getSymbolOnListMemberHasBeenModified() {
624        return symbolOnListMemberHasBeenModified;
625    }
626    
627    @Nullable
628    public Boolean getSymbolOnSubtotal() {
629        return symbolOnSubtotal;
630    }
631    
632    public void setSymbolOnSubtotal(@Nullable Boolean symbolOnSubtotal) {
633        boolean update = true;
634        
635        if(this.symbolOnSubtotal != null) {
636            if(this.symbolOnSubtotal.equals(symbolOnSubtotal)) {
637                update = false;
638            }
639        } else if(symbolOnSubtotal == null) {
640            update = false;
641        }
642        
643        if(update) {
644            this.symbolOnSubtotal = symbolOnSubtotal;
645            symbolOnSubtotalHasBeenModified = true;
646            clearHashAndString();
647        }
648    }
649    
650    public boolean getSymbolOnSubtotalHasBeenModified() {
651        return symbolOnSubtotalHasBeenModified;
652    }
653    
654    @Nullable
655    public Boolean getSymbolOnTotal() {
656        return symbolOnTotal;
657    }
658    
659    public void setSymbolOnTotal(@Nullable Boolean symbolOnTotal) {
660        boolean update = true;
661        
662        if(this.symbolOnTotal != null) {
663            if(this.symbolOnTotal.equals(symbolOnTotal)) {
664                update = false;
665            }
666        } else if(symbolOnTotal == null) {
667            update = false;
668        }
669        
670        if(update) {
671            this.symbolOnTotal = symbolOnTotal;
672            symbolOnTotalHasBeenModified = true;
673            clearHashAndString();
674        }
675    }
676    
677    public boolean getSymbolOnTotalHasBeenModified() {
678        return symbolOnTotalHasBeenModified;
679    }
680    
681    @Nonnull
682    public String getGroupingSeparator() {
683        return groupingSeparator;
684    }
685    
686    public void setGroupingSeparator(@Nonnull String groupingSeparator)
687            throws PersistenceNotNullException {
688        checkForNull(groupingSeparator);
689        
690        boolean update = true;
691        
692        if(this.groupingSeparator != null) {
693            if(this.groupingSeparator.equals(groupingSeparator)) {
694                update = false;
695            }
696        } else if(groupingSeparator == null) {
697            update = false;
698        }
699        
700        if(update) {
701            this.groupingSeparator = groupingSeparator;
702            groupingSeparatorHasBeenModified = true;
703            clearHashAndString();
704        }
705    }
706    
707    public boolean getGroupingSeparatorHasBeenModified() {
708        return groupingSeparatorHasBeenModified;
709    }
710    
711    @Nonnull
712    public Integer getGroupingSize() {
713        return groupingSize;
714    }
715    
716    public void setGroupingSize(@Nonnull Integer groupingSize)
717            throws PersistenceNotNullException {
718        checkForNull(groupingSize);
719        
720        boolean update = true;
721        
722        if(this.groupingSize != null) {
723            if(this.groupingSize.equals(groupingSize)) {
724                update = false;
725            }
726        } else if(groupingSize == null) {
727            update = false;
728        }
729        
730        if(update) {
731            this.groupingSize = groupingSize;
732            groupingSizeHasBeenModified = true;
733            clearHashAndString();
734        }
735    }
736    
737    public boolean getGroupingSizeHasBeenModified() {
738        return groupingSizeHasBeenModified;
739    }
740    
741    @Nullable
742    public String getFractionSeparator() {
743        return fractionSeparator;
744    }
745    
746    public void setFractionSeparator(@Nullable String fractionSeparator) {
747        boolean update = true;
748        
749        if(this.fractionSeparator != null) {
750            if(this.fractionSeparator.equals(fractionSeparator)) {
751                update = false;
752            }
753        } else if(fractionSeparator == null) {
754            update = false;
755        }
756        
757        if(update) {
758            this.fractionSeparator = fractionSeparator;
759            fractionSeparatorHasBeenModified = true;
760            clearHashAndString();
761        }
762    }
763    
764    public boolean getFractionSeparatorHasBeenModified() {
765        return fractionSeparatorHasBeenModified;
766    }
767    
768    @Nullable
769    public Integer getDefaultFractionDigits() {
770        return defaultFractionDigits;
771    }
772    
773    public void setDefaultFractionDigits(@Nullable Integer defaultFractionDigits) {
774        boolean update = true;
775        
776        if(this.defaultFractionDigits != null) {
777            if(this.defaultFractionDigits.equals(defaultFractionDigits)) {
778                update = false;
779            }
780        } else if(defaultFractionDigits == null) {
781            update = false;
782        }
783        
784        if(update) {
785            this.defaultFractionDigits = defaultFractionDigits;
786            defaultFractionDigitsHasBeenModified = true;
787            clearHashAndString();
788        }
789    }
790    
791    public boolean getDefaultFractionDigitsHasBeenModified() {
792        return defaultFractionDigitsHasBeenModified;
793    }
794    
795    @Nullable
796    public Integer getPriceUnitFractionDigits() {
797        return priceUnitFractionDigits;
798    }
799    
800    public void setPriceUnitFractionDigits(@Nullable Integer priceUnitFractionDigits) {
801        boolean update = true;
802        
803        if(this.priceUnitFractionDigits != null) {
804            if(this.priceUnitFractionDigits.equals(priceUnitFractionDigits)) {
805                update = false;
806            }
807        } else if(priceUnitFractionDigits == null) {
808            update = false;
809        }
810        
811        if(update) {
812            this.priceUnitFractionDigits = priceUnitFractionDigits;
813            priceUnitFractionDigitsHasBeenModified = true;
814            clearHashAndString();
815        }
816    }
817    
818    public boolean getPriceUnitFractionDigitsHasBeenModified() {
819        return priceUnitFractionDigitsHasBeenModified;
820    }
821    
822    @Nullable
823    public Integer getPriceLineFractionDigits() {
824        return priceLineFractionDigits;
825    }
826    
827    public void setPriceLineFractionDigits(@Nullable Integer priceLineFractionDigits) {
828        boolean update = true;
829        
830        if(this.priceLineFractionDigits != null) {
831            if(this.priceLineFractionDigits.equals(priceLineFractionDigits)) {
832                update = false;
833            }
834        } else if(priceLineFractionDigits == null) {
835            update = false;
836        }
837        
838        if(update) {
839            this.priceLineFractionDigits = priceLineFractionDigits;
840            priceLineFractionDigitsHasBeenModified = true;
841            clearHashAndString();
842        }
843    }
844    
845    public boolean getPriceLineFractionDigitsHasBeenModified() {
846        return priceLineFractionDigitsHasBeenModified;
847    }
848    
849    @Nullable
850    public Integer getCostUnitFractionDigits() {
851        return costUnitFractionDigits;
852    }
853    
854    public void setCostUnitFractionDigits(@Nullable Integer costUnitFractionDigits) {
855        boolean update = true;
856        
857        if(this.costUnitFractionDigits != null) {
858            if(this.costUnitFractionDigits.equals(costUnitFractionDigits)) {
859                update = false;
860            }
861        } else if(costUnitFractionDigits == null) {
862            update = false;
863        }
864        
865        if(update) {
866            this.costUnitFractionDigits = costUnitFractionDigits;
867            costUnitFractionDigitsHasBeenModified = true;
868            clearHashAndString();
869        }
870    }
871    
872    public boolean getCostUnitFractionDigitsHasBeenModified() {
873        return costUnitFractionDigitsHasBeenModified;
874    }
875    
876    @Nullable
877    public Integer getCostLineFractionDigits() {
878        return costLineFractionDigits;
879    }
880    
881    public void setCostLineFractionDigits(@Nullable Integer costLineFractionDigits) {
882        boolean update = true;
883        
884        if(this.costLineFractionDigits != null) {
885            if(this.costLineFractionDigits.equals(costLineFractionDigits)) {
886                update = false;
887            }
888        } else if(costLineFractionDigits == null) {
889            update = false;
890        }
891        
892        if(update) {
893            this.costLineFractionDigits = costLineFractionDigits;
894            costLineFractionDigitsHasBeenModified = true;
895            clearHashAndString();
896        }
897    }
898    
899    public boolean getCostLineFractionDigitsHasBeenModified() {
900        return costLineFractionDigitsHasBeenModified;
901    }
902    
903    @Nonnull
904    public String getMinusSign() {
905        return minusSign;
906    }
907    
908    public void setMinusSign(@Nonnull String minusSign)
909            throws PersistenceNotNullException {
910        checkForNull(minusSign);
911        
912        boolean update = true;
913        
914        if(this.minusSign != null) {
915            if(this.minusSign.equals(minusSign)) {
916                update = false;
917            }
918        } else if(minusSign == null) {
919            update = false;
920        }
921        
922        if(update) {
923            this.minusSign = minusSign;
924            minusSignHasBeenModified = true;
925            clearHashAndString();
926        }
927    }
928    
929    public boolean getMinusSignHasBeenModified() {
930        return minusSignHasBeenModified;
931    }
932    
933    @Nonnull
934    public Boolean getIsDefault() {
935        return isDefault;
936    }
937    
938    public void setIsDefault(@Nonnull Boolean isDefault)
939            throws PersistenceNotNullException {
940        checkForNull(isDefault);
941        
942        boolean update = true;
943        
944        if(this.isDefault != null) {
945            if(this.isDefault.equals(isDefault)) {
946                update = false;
947            }
948        } else if(isDefault == null) {
949            update = false;
950        }
951        
952        if(update) {
953            this.isDefault = isDefault;
954            isDefaultHasBeenModified = true;
955            clearHashAndString();
956        }
957    }
958    
959    public boolean getIsDefaultHasBeenModified() {
960        return isDefaultHasBeenModified;
961    }
962    
963    @Nonnull
964    public Integer getSortOrder() {
965        return sortOrder;
966    }
967    
968    public void setSortOrder(@Nonnull Integer sortOrder)
969            throws PersistenceNotNullException {
970        checkForNull(sortOrder);
971        
972        boolean update = true;
973        
974        if(this.sortOrder != null) {
975            if(this.sortOrder.equals(sortOrder)) {
976                update = false;
977            }
978        } else if(sortOrder == null) {
979            update = false;
980        }
981        
982        if(update) {
983            this.sortOrder = sortOrder;
984            sortOrderHasBeenModified = true;
985            clearHashAndString();
986        }
987    }
988    
989    public boolean getSortOrderHasBeenModified() {
990        return sortOrderHasBeenModified;
991    }
992    
993}