001package org.kuali.ole.deliver.bo;
002
003import org.apache.commons.collections.CollectionUtils;
004import org.kuali.ole.deliver.api.*;
005import org.kuali.rice.kim.api.KimConstants;
006import org.kuali.rice.kim.api.identity.IdentityService;
007import org.kuali.rice.kim.api.identity.address.EntityAddress;
008import org.kuali.rice.kim.api.identity.email.EntityEmail;
009import org.kuali.rice.kim.api.identity.employment.EntityEmployment;
010import org.kuali.rice.kim.api.identity.phone.EntityPhone;
011import org.kuali.rice.kim.api.services.KimApiServiceLocator;
012import org.kuali.rice.kim.impl.identity.address.EntityAddressBo;
013import org.kuali.rice.kim.impl.identity.affiliation.EntityAffiliationBo;
014import org.kuali.rice.kim.impl.identity.affiliation.EntityAffiliationTypeBo;
015import org.kuali.rice.kim.impl.identity.email.EntityEmailBo;
016import org.kuali.rice.kim.impl.identity.employment.EntityEmploymentBo;
017import org.kuali.rice.kim.impl.identity.entity.EntityBo;
018import org.kuali.rice.kim.impl.identity.name.EntityNameBo;
019import org.kuali.rice.kim.impl.identity.phone.EntityPhoneBo;
020import org.kuali.rice.kim.impl.identity.type.EntityTypeContactInfoBo;
021import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
022
023import java.util.*;
024
025/**
026 * OlePatronDocument provides OlePatronDocument information through getter and setter.
027 */
028public class OlePatronDocument extends PersistableBusinessObjectBase implements OlePatronContract {
029
030    private String olePatronId;
031    private String barcode;
032    private String borrowerType;
033    private String affiliationType;
034    private boolean activeIndicator;
035    private boolean generalBlock;
036    private String generalBlockNotes;
037    private boolean pagingPrivilege;
038    private boolean courtesyNotice;
039    private boolean deliveryPrivilege;
040    private boolean realPatronCheck;
041    private boolean selfCheckOut = false;
042    private Date expirationDate;
043    private Date activationDate;
044    private String firstName;
045    private String middleName;
046    private String lastName;
047    private String emailAddress;
048    private String phoneNumber;
049    private String borrowerTypeName;
050    private String processMessage;
051    private String source;
052    private String statisticalCategory;
053    private String oleSourceName;
054    private String oleStatisticalCategoryName;
055    private boolean patronBillFlag;
056    private String proxyPatronId;
057    private byte[] patronPhotograph;
058    private boolean loanFlag;
059    private boolean tempCircHistoryFlag;
060    private boolean requestFlag;
061    private boolean upload = true;
062    private boolean patronHomePage;
063    private boolean pointing;
064    private boolean startingIndexExecuted;
065    private boolean activateBarcode;
066    private boolean deactivateBarcode;
067    private String lostStatus;
068    private String lostDescription;
069    private boolean invalidateBarcode;
070    private boolean reinstateBarcode;
071    private boolean skipBarcodeValidation;
072    private boolean barcodeChanged;
073    private boolean barcodeEditable;
074    private boolean expirationFlag=true;
075    private boolean popupDialog;
076    private String patronMessage;
077    private String uiMessageType;
078    private boolean reinstated;
079    private int numberOfClaimsReturned;
080    private boolean showLoanedRecords;
081    private boolean showRequestedItems;
082    private boolean showTemporaryCirculationHistoryRecords;
083
084    private transient IdentityService identityService;
085
086    public IdentityService getIdentityService() {
087        if (identityService == null) {
088            identityService = KimApiServiceLocator.getIdentityService();
089        }
090        return identityService;
091    }
092
093    public boolean isPatronHomePage() {
094        return patronHomePage;
095    }
096
097    public boolean isExpirationFlag() {
098        return expirationFlag;
099    }
100
101    public void setExpirationFlag(boolean expirationFlag) {
102        this.expirationFlag = expirationFlag;
103    }
104
105    public void setPatronHomePage(boolean patronHomePage) {
106        this.patronHomePage = patronHomePage;
107    }
108
109    private List<OleLoanDocument> oleLoanDocuments = new ArrayList<OleLoanDocument>();
110    private List<EntityPhoneBo> phones = new ArrayList<EntityPhoneBo>();
111    private List<EntityPhoneBo> deletedPhones = new ArrayList<EntityPhoneBo>();
112    private List<EntityAddressBo> addresses = new ArrayList<EntityAddressBo>();
113    private List<OleEntityAddressBo> oleEntityAddressBo = new ArrayList<OleEntityAddressBo>();
114    private List<OleEntityAddressBo> deletedOleEntityAddressBo = new ArrayList<OleEntityAddressBo>();
115    private EntityNameBo name = new EntityNameBo();
116    private List<OleAddressBo> oleAddresses = new ArrayList<OleAddressBo>();
117    private List<EntityEmailBo> emails = new ArrayList<EntityEmailBo>();
118    private List<EntityEmailBo> deletedEmails = new ArrayList<EntityEmailBo>();
119    private List<OlePatronNotes> notes = new ArrayList<OlePatronNotes>();
120    private List<OlePatronNotes> deletedNotes = new ArrayList<OlePatronNotes>();
121    private List<OlePatronLostBarcode> lostBarcodes = new ArrayList<OlePatronLostBarcode>();
122    private OleBorrowerType oleBorrowerType;
123    private EntityBo entity = new EntityBo();
124    private OleSourceBo sourceBo;
125    private OleStatisticalCategoryBo statisticalCategoryBo;
126    private List<OlePatronAffiliation> patronAffiliations = new ArrayList<OlePatronAffiliation>();
127    private List<OlePatronAffiliation> deletedPatronAffiliations = new ArrayList<OlePatronAffiliation>();
128    private List<EntityEmploymentBo> employments = new ArrayList<EntityEmploymentBo>();
129    private List<EntityEmploymentBo> deletedEmployments = new ArrayList<EntityEmploymentBo>();
130    private List<OleDeliverRequestBo> oleDeliverRequestBos = new ArrayList<OleDeliverRequestBo>();
131    private List<OleProxyPatronDocument> oleProxyPatronDocuments = new ArrayList<OleProxyPatronDocument>();
132    private List<OleProxyPatronDocument> deletedOleProxyPatronDocuments = new ArrayList<OleProxyPatronDocument>();
133    private List<OleTemporaryCirculationHistory> oleTemporaryCirculationHistoryRecords = new ArrayList<OleTemporaryCirculationHistory>();
134    private List<OlePatronLocalIdentificationBo> olePatronLocalIds = new ArrayList<OlePatronLocalIdentificationBo>();
135    private List<OlePatronLocalIdentificationBo> deletedOlePatronLocalIds = new ArrayList<OlePatronLocalIdentificationBo>();
136    private List<OleProxyPatronDocument> oleProxyPatronDocumentList = new ArrayList<OleProxyPatronDocument>();
137    private List<PatronBillPayment> patronBillPayments = new ArrayList<>();
138    private OLEPatronEntityViewBo olePatronEntityViewBo;
139    private String patronBillFileName;
140    private String viewBillUrl;
141    private String createBillUrl;
142    private String namePrefix;
143    private String nameSuffix;
144
145    public void setBorrowerTypeName(String borrowerTypeName) {
146        this.borrowerTypeName = borrowerTypeName;
147    }
148
149    private String patronName;
150
151    private String borrowerTypeCode;
152
153    public List<PatronBillPayment> getPatronBillPayments() {
154        return patronBillPayments;
155    }
156
157    public void setPatronBillPayments(List<PatronBillPayment> patronBillPayments) {
158        this.patronBillPayments = patronBillPayments;
159    }
160
161    public int getNumberOfClaimsReturned() {
162        return numberOfClaimsReturned;
163    }
164
165    public void setNumberOfClaimsReturned(int numberOfClaimsReturned) {
166        this.numberOfClaimsReturned = numberOfClaimsReturned;
167    }
168
169    public String getBorrowerTypeCode() {
170        if (oleBorrowerType != null) {
171            return oleBorrowerType.getBorrowerTypeCode();
172        }
173        return borrowerTypeCode;
174    }
175
176    public void setBorrowerTypeCode(String borrowerTypeCode) {
177        this.borrowerTypeCode = borrowerTypeCode;
178    }
179
180    public boolean isSelfCheckOut() {
181        return selfCheckOut;
182    }
183
184    public void setSelfCheckOut(boolean selfCheckOut) {
185        this.selfCheckOut = selfCheckOut;
186    }
187
188    public String getPatronName() {
189        return patronName;
190    }
191
192    public void setPatronName(String patronName) {
193        this.patronName = patronName;
194    }
195
196    public OlePatronDocument() {
197        this.setActivationDate(new Date());
198        this.setDeliveryPrivilege(true);
199        this.setPagingPrivilege(true);
200        this.setCourtesyNotice(true);
201        this.setBarcodeEditable(true);
202    }
203
204    public boolean isUpload() {
205        return upload;
206    }
207
208    public void setUpload(boolean upload) {
209        this.upload = upload;
210    }
211
212    public List<OleTemporaryCirculationHistory> getOleTemporaryCirculationHistoryRecords() {
213        return oleTemporaryCirculationHistoryRecords;
214    }
215
216    public void setOleTemporaryCirculationHistoryRecords(List<OleTemporaryCirculationHistory> oleTemporaryCirculationHistoryRecords) {
217        this.oleTemporaryCirculationHistoryRecords = oleTemporaryCirculationHistoryRecords;
218    }
219
220    public List<OleDeliverRequestBo> getOleDeliverRequestBos() {
221        return oleDeliverRequestBos;
222    }
223
224    public void setOleDeliverRequestBos(List<OleDeliverRequestBo> oleDeliverRequestBos) {
225        this.oleDeliverRequestBos = oleDeliverRequestBos;
226    }
227
228    /**
229     * This method converts the PersistableBusinessObjectBase OlePatronDocument into immutable object OlePatronDefinition
230     *
231     * @param bo
232     * @return OlePatronDefinition
233     */
234    public static OlePatronDefinition to(org.kuali.ole.deliver.bo.OlePatronDocument bo) {
235        if (bo == null) {
236            return null;
237        }
238        return OlePatronDefinition.Builder.create(bo).build();
239    }
240
241    /**
242     * This method converts the immutable object OlePatronDefinition into PersistableBusinessObjectBase OlePatronDocument
243     *
244     * @param immutable
245     * @return OlePatronDocument
246     */
247    public static org.kuali.ole.deliver.bo.OlePatronDocument from(OlePatronDefinition immutable) {
248        return fromAndUpdate(immutable, null);
249    }
250
251    /**
252     * This method will set the PersistableBusinessObjectBase OlePatronDocument from immutable object OlePatronDefinition
253     *
254     * @param immutable
255     * @param toUpdate
256     * @return bo(OlePatronDocument)
257     */
258    static org.kuali.ole.deliver.bo.OlePatronDocument fromAndUpdate(OlePatronDefinition immutable, org.kuali.ole.deliver.bo.OlePatronDocument toUpdate) {
259        if (immutable == null) {
260            return null;
261        }
262        org.kuali.ole.deliver.bo.OlePatronDocument bo = toUpdate;
263        if (toUpdate == null) {
264            bo = new org.kuali.ole.deliver.bo.OlePatronDocument();
265        }
266        // bo.activeIndicator = immutable.isActiveIndicator();
267        bo.olePatronId = immutable.getOlePatronId();
268
269        bo.name = new EntityNameBo();
270
271        if (immutable.getName() != null) {
272            bo.name = EntityNameBo.from(immutable.getName());
273        }
274
275        bo.barcode = immutable.getBarcode();
276        bo.borrowerType = immutable.getBorrowerType();
277        bo.courtesyNotice = immutable.isCourtesyNotice();
278        bo.generalBlock = immutable.isGeneralBlock();
279        bo.deliveryPrivilege = immutable.isDeliveryPrivilege();
280        bo.pagingPrivilege = immutable.isPagingPrivilege();
281        bo.expirationDate = immutable.getExpirationDate();
282        bo.activationDate = immutable.getActivationDate();
283        bo.activeIndicator = immutable.isActiveIndicator();
284        bo.generalBlockNotes = immutable.getGeneralBlockNotes();
285        bo.source = immutable.getSource();
286        bo.statisticalCategory = immutable.getStatisticalCategory();
287        /* EntityBo entityBo ;
288
289        if (null != bo.getEntity()) {
290            entityBo = bo.getEntity();
291            entityBo.setActive(true);
292        } else {
293            entityBo = new EntityBo();
294            entityBo.setActive(true);
295        }*/
296        if (immutable.getEntity() != null) {
297            bo.entity = EntityBo.from(immutable.getEntity());
298        }
299        if (immutable.getOleBorrowerType() != null) {
300            bo.oleBorrowerType = OleBorrowerType.from(immutable.getOleBorrowerType());
301        }
302        if (CollectionUtils.isNotEmpty(immutable.getAddresses())) {
303            for (EntityAddress entityAddr : immutable.getAddresses()) {
304                bo.addresses.add(EntityAddressBo.from(entityAddr));
305            }
306        }
307        if (CollectionUtils.isNotEmpty(immutable.getEmails())) {
308            for (EntityEmail entityEmail : immutable.getEmails()) {
309                bo.emails.add(EntityEmailBo.from(entityEmail));
310            }
311        }
312        if (CollectionUtils.isNotEmpty(immutable.getPhones())) {
313            for (EntityPhone entityPhone : immutable.getPhones()) {
314                bo.phones.add(EntityPhoneBo.from(entityPhone));
315            }
316        }
317
318        if (CollectionUtils.isNotEmpty(immutable.getNotes())) {
319            for (OlePatronNotesDefinition note : immutable.getNotes()) {
320                bo.notes.add(OlePatronNotes.from(note));
321            }
322        }
323        if (CollectionUtils.isNotEmpty(immutable.getLostBarcodes())) {
324            for (OlePatronLostBarcodeDefinition lostBarcode : immutable.getLostBarcodes()) {
325                bo.lostBarcodes.add(OlePatronLostBarcode.from(lostBarcode));
326            }
327        }
328        if (CollectionUtils.isNotEmpty(immutable.getOleEntityAddressBo())) {
329            for (OleEntityAddressDefinition address : immutable.getOleEntityAddressBo()) {
330                bo.oleEntityAddressBo.add(OleEntityAddressBo.from(address));
331            }
332        }
333
334        if (CollectionUtils.isNotEmpty(immutable.getPatronAffiliations())) {
335            for (OlePatronAffiliationDefinition affiliation : immutable.getPatronAffiliations()) {
336                bo.patronAffiliations.add(OlePatronAffiliation.from(affiliation));
337            }
338        }
339        if (CollectionUtils.isNotEmpty(immutable.getOleProxyPatronDocuments())) {
340            for (OleProxyPatronDefinition proxyPatron : immutable.getOleProxyPatronDocuments()) {
341                bo.oleProxyPatronDocuments.add(OleProxyPatronDocument.from(proxyPatron));
342            }
343        }
344        if (CollectionUtils.isNotEmpty(immutable.getOleAddresses())) {
345            for (OleAddressDefinition oleAddress : immutable.getOleAddresses()) {
346                bo.oleAddresses.add(OleAddressBo.from(oleAddress));
347            }
348        }
349        if (CollectionUtils.isNotEmpty(immutable.getOlePatronLocalIds())) {
350            for (OlePatronLocalIdentificationDefinition olePatronLocalId : immutable.getOlePatronLocalIds()) {
351                bo.olePatronLocalIds.add(OlePatronLocalIdentificationBo.from(olePatronLocalId));
352            }
353        }
354
355        bo.versionNumber = immutable.getVersionNumber();
356        //bo.setObjectId(immutable.getObjectId());
357        EntityBo entityBo = new EntityBo();
358        entityBo.setActive(true);
359
360        if (null != bo.getEntity()) {
361            entityBo = bo.getEntity();
362            entityBo.setActive(true);
363        }
364        if (CollectionUtils.isNotEmpty(immutable.getPatronAffiliations())) {
365            for (OlePatronAffiliationDefinition affiliation : immutable.getPatronAffiliations()) {
366                EntityAffiliationBo entityAffiliationBo = new EntityAffiliationBo();
367                entityAffiliationBo.setId(affiliation.getEntityAffiliationId());
368                entityAffiliationBo.setAffiliationTypeCode(affiliation.getAffiliationTypeCode());
369                entityAffiliationBo.setAffiliationType(EntityAffiliationTypeBo.from(affiliation.getAffiliationType()));
370                entityAffiliationBo.setActive(affiliation.isActive());
371                entityAffiliationBo.setDefaultValue(affiliation.isDefaultValue());
372                entityAffiliationBo.setCampusCode(affiliation.getCampusCode());
373                entityAffiliationBo.setObjectId(affiliation.getObjectId());
374                entityAffiliationBo.setVersionNumber(affiliation.getVersionNumber());
375                entityAffiliationBo.setEntityId(affiliation.getEntityId());
376
377                entityBo.getAffiliations().add(entityAffiliationBo);
378                for (EntityEmployment entityEmployment : affiliation.getEmployments()) {
379                    entityBo.getEmploymentInformation().add(EntityEmploymentBo.from(entityEmployment));
380                }
381
382                bo.patronAffiliations.add(OlePatronAffiliation.from(affiliation));
383            }
384        }
385        entityBo.setNames(Arrays.asList(bo.getName()));
386        EntityTypeContactInfoBo entityTypeContactInfoBo = new EntityTypeContactInfoBo();
387        if (bo.getEntity() != null && null != bo.getEntity().getEntityTypeContactInfos() && bo.getEntity().getEntityTypeContactInfos().size() > 0) {
388                entityTypeContactInfoBo = bo.getEntity().getEntityTypeContactInfos().get(0);
389        }
390        entityTypeContactInfoBo.setAddresses(bo.getAddresses());
391        entityTypeContactInfoBo.setEmailAddresses(bo.getEmails());
392        entityTypeContactInfoBo.setPhoneNumbers(bo.getPhones());
393        entityTypeContactInfoBo.setEntityTypeCode(KimConstants.EntityTypes.PERSON);
394        entityBo.setEntityTypeContactInfos(Arrays.asList(entityTypeContactInfoBo));
395        bo.setEntity(entityBo);
396        return bo;
397    }
398
399    public boolean isRealPatronCheck() {
400        return realPatronCheck;
401    }
402
403    public void setRealPatronCheck(boolean realPatronCheck) {
404        this.realPatronCheck = realPatronCheck;
405    }
406
407    /**
408     * Gets the value of oleLoanDocuments which is a list of OleLoanDocument
409     *
410     * @return oleLoanDocuments(list of type OleLoanDocument)
411     */
412    public List<OleLoanDocument> getOleLoanDocuments() {
413        return oleLoanDocuments;
414    }
415
416    /**
417     * Sets the value for oleLoanDocuments which is a list of OleLoanDocument
418     *
419     * @param oleLoanDocuments(list of type OleLoanDocument)
420     */
421    public void setOleLoanDocuments(List<OleLoanDocument> oleLoanDocuments) {
422        List<OleLoanDocument> LoanDocumentList = new ArrayList<>();
423        List<OleLoanDocument> indefiniteLoanDocumentList = new ArrayList<>();
424        for (OleLoanDocument loanDoc : oleLoanDocuments) {
425            if (loanDoc.getLoanDueDate() != null && !(loanDoc.getLoanDueDate().toString().isEmpty())) {
426                LoanDocumentList.add(loanDoc);
427            } else {
428
429                indefiniteLoanDocumentList.add(loanDoc);
430            }
431        }
432        Collections.sort(LoanDocumentList, new Comparator<OleLoanDocument>() {
433            public int compare(OleLoanDocument o1, OleLoanDocument o2) {
434                return o1.getLoanDueDate().compareTo(o2.getLoanDueDate());
435            }
436        });
437        LoanDocumentList.addAll(indefiniteLoanDocumentList);
438        this.oleLoanDocuments = LoanDocumentList;
439    }
440
441    /**
442     * Gets the value of borrowerTypeName property
443     *
444     * @return borrowerTypeName
445     */
446    public String getBorrowerTypeName() {
447        if (oleBorrowerType != null) {
448            return oleBorrowerType.getBorrowerTypeName();
449        }
450        return null;
451    }
452
453    /**
454     * Gets the value of entity of type EntityBo
455     *
456     * @return entity(EntityBo)
457     */
458    public EntityBo getEntity() {
459        if (getOlePatronId() != null) {
460            EntityBo entityBo = (EntityBo) EntityBo.from( getIdentityService().getEntity(getOlePatronId()));
461            if(entityBo!=null){
462                return entityBo;
463            }
464
465            return entity;
466        } else {
467            return entity;
468        }
469    }
470
471    /**
472     * Sets the value for entity of type EntityBo
473     *
474     * @param entity(EntityBo)
475     */
476    public void setEntity(EntityBo entity) {
477        this.entity = entity;
478    }
479
480    public String getAffiliationType() {
481        return affiliationType;
482    }
483
484    public void setAffiliationType(String affiliationType) {
485        this.affiliationType = affiliationType;
486    }
487
488    /**
489     * Gets the value of notes which is a list of OlePatronNotes
490     *
491     * @return notes(list of type OlePatronNotes)
492     */
493    public List<OlePatronNotes> getNotes() {
494        return notes;
495    }
496
497    /**
498     * Sets the value for notes which is a list of OlePatronNotes
499     *
500     * @param notes(list of type OlePatronNotes)
501     */
502    public void setNotes(List<OlePatronNotes> notes) {
503        this.notes = notes;
504    }
505
506    /**
507     * Gets the value of barcode property
508     *
509     * @return barcode
510     */
511    public String getBarcode() {
512        return barcode;
513    }
514
515    /**
516     * Sets the value for barcode property
517     *
518     * @param barcode
519     */
520    public void setBarcode(String barcode) {
521        this.barcode = barcode;
522    }
523
524    /**
525     * Gets the value of borrowerType property
526     *
527     * @return borrowerType
528     */
529    public String getBorrowerType() {
530        return borrowerType;
531    }
532
533    /**
534     * Sets the value for borrowerType property
535     *
536     * @param borrowerType
537     */
538    public void setBorrowerType(String borrowerType) {
539        this.borrowerType = borrowerType;
540    }
541
542    /**
543     * Gets the boolean value of activeIndicator property
544     *
545     * @return activeIndicator
546     */
547    public boolean isActiveIndicator() {
548        return activeIndicator;
549    }
550
551    /**
552     * Sets the boolean value for activeIndicator property
553     *
554     * @param activeIndicator
555     */
556    public void setActiveIndicator(boolean activeIndicator) {
557        this.activeIndicator = activeIndicator;
558    }
559
560    /**
561     * Gets the value of olePatronId property
562     *
563     * @return olePatronId
564     */
565    public String getOlePatronId() {
566        return olePatronId;
567    }
568
569    /**
570     * Sets the value for olePatronId property
571     *
572     * @param olePatronId
573     */
574    public void setOlePatronId(String olePatronId) {
575        this.olePatronId = olePatronId;
576    }
577
578    /**
579     * Gets the boolean value of generalBlock property
580     *
581     * @return generalBlock
582     */
583    public boolean isGeneralBlock() {
584        return generalBlock;
585    }
586
587    /**
588     * Sets the boolean value for generalBlock property
589     *
590     * @param generalBlock
591     */
592    public void setGeneralBlock(boolean generalBlock) {
593        this.generalBlock = generalBlock;
594    }
595
596    /**
597     * Gets the boolean value of courtesyNotice property
598     *
599     * @return courtesyNotice
600     */
601    public boolean isCourtesyNotice() {
602        return courtesyNotice;
603    }
604
605    /**
606     * Sets the boolean value for courtesyNotice property
607     *
608     * @param courtesyNotice
609     */
610    public void setCourtesyNotice(boolean courtesyNotice) {
611        this.courtesyNotice = courtesyNotice;
612    }
613
614    /**
615     * Gets the boolean value of deliveryPrivilege property
616     *
617     * @return deliveryPrivilege
618     */
619    public boolean isDeliveryPrivilege() {
620        return deliveryPrivilege;
621    }
622
623    /**
624     * Sets the boolean value for deliveryPrivilege property
625     *
626     * @param deliveryPrivilege
627     */
628    public void setDeliveryPrivilege(boolean deliveryPrivilege) {
629        this.deliveryPrivilege = deliveryPrivilege;
630    }
631
632    /**
633     * Gets the boolean value of pagingPrivilege property
634     *
635     * @return pagingPrivilege
636     */
637    public boolean isPagingPrivilege() {
638        return pagingPrivilege;
639    }
640
641    /**
642     * Sets the boolean value for pagingPrivilege property
643     *
644     * @param pagingPrivilege
645     */
646    public void setPagingPrivilege(boolean pagingPrivilege) {
647        this.pagingPrivilege = pagingPrivilege;
648    }
649
650    /**
651     * Gets the value of expirationDate which is of type Date
652     *
653     * @return expirationDate(Date)
654     */
655    public Date getExpirationDate() {
656        return expirationDate;
657    }
658
659    /**
660     * Sets the value for expirationDate which is of type Date
661     *
662     * @param expirationDate
663     */
664    public void setExpirationDate(Date expirationDate) {
665        this.expirationDate = expirationDate;
666    }
667
668    /**
669     * Gets the value of firstName property
670     *
671     * @return firstName
672     */
673    public String getFirstName() {
674        return firstName;
675    }
676
677    /**
678     * Sets the value for firstName property
679     *
680     * @param firstName
681     */
682    public void setFirstName(String firstName) {
683        this.firstName = firstName;
684    }
685
686    /**
687     * Gets the value of middleName property
688     *
689     * @return middleName
690     */
691    public String getMiddleName() {
692        return middleName;
693    }
694
695    /**
696     * Sets the value for middleName property
697     *
698     * @param middleName
699     */
700    public void setMiddleName(String middleName) {
701        this.middleName = middleName;
702    }
703
704    /**
705     * Gets the value of lastName property
706     *
707     * @return lastName
708     */
709    public String getLastName() {
710        return lastName;
711    }
712
713    /**
714     * Sets the value for lastName property
715     *
716     * @param lastName
717     */
718    public void setLastName(String lastName) {
719        this.lastName = lastName;
720    }
721
722    /**
723     * Gets the value of emailAddress property
724     *
725     * @return emailAddress
726     */
727    public String getEmailAddress() {
728        return emailAddress;
729    }
730
731    /**
732     * Sets the value for emailAddress property
733     *
734     * @param emailAddress
735     */
736    public void setEmailAddress(String emailAddress) {
737        this.emailAddress = emailAddress;
738    }
739
740    /**
741     * Gets the value of phoneNumber property
742     *
743     * @return phoneNumber
744     */
745    public String getPhoneNumber() {
746        return phoneNumber;
747    }
748
749    /**
750     * Sets the value for phoneNumber property
751     *
752     * @param phoneNumber
753     */
754    public void setPhoneNumber(String phoneNumber) {
755        this.phoneNumber = phoneNumber;
756    }
757
758    /**
759     * Gets the value of phones which is a list of EntityPhoneBo
760     *
761     * @return phones(list of type EntityPhoneBo)
762     */
763    public List<EntityPhoneBo> getPhones() {
764        return phones;
765    }
766
767    /**
768     * Sets the value for phones which is a list of EntityPhoneBo
769     *
770     * @param phones(list of type EntityPhoneBo)
771     */
772    public void setPhones(List<EntityPhoneBo> phones) {
773        this.phones = phones;
774    }
775
776    /**
777     * Gets the value of addresses which is a list of EntityAddressBo
778     *
779     * @return addresses(list of type EntityAddressBo)
780     */
781    public List<EntityAddressBo> getAddresses() {
782        return addresses;
783    }
784
785    /**
786     * Sets the value for addresses which is a list of EntityAddressBo
787     *
788     * @param addresses(list of type EntityAddressBo)
789     */
790    public void setAddresses(List<EntityAddressBo> addresses) {
791        this.addresses = addresses;
792    }
793
794    /**
795     * Gets the value of name which is of type EntityNameBo
796     *
797     * @return name(EntityNameBo)
798     */
799    public EntityNameBo getName() {
800        return name;
801    }
802
803    /**
804     * Sets the value for name which is of type EntityNameBo
805     *
806     * @param name(EntityNameBo)
807     */
808    public void setName(EntityNameBo name) {
809        this.name = name;
810    }
811
812    /**
813     * Gets the value of emails which is a list of EntityEmailBo
814     *
815     * @return emails(list of type EntityEmailBo)
816     */
817    public List<EntityEmailBo> getEmails() {
818        return emails;
819    }
820
821    /**
822     * Sets the value for emails which is a list of EntityEmailBo
823     *
824     * @param emails(list of type EntityEmailBo)
825     */
826    public void setEmails(List<EntityEmailBo> emails) {
827        this.emails = emails;
828    }
829
830    /**
831     * Gets the value of oleBorrowerType which is of type OleBorrowerType
832     *
833     * @return oleBorrowerType(OleBorrowerType)
834     */
835    public OleBorrowerType getOleBorrowerType() {
836        return oleBorrowerType;
837    }
838
839    /**
840     * Sets the value for oleBorrowerType which is of type OleBorrowerType
841     *
842     * @param oleBorrowerType(OleBorrowerType)
843     *
844     */
845    public void setOleBorrowerType(OleBorrowerType oleBorrowerType) {
846        this.oleBorrowerType = oleBorrowerType;
847    }
848
849    /**
850     * Gets the value of processMessage property
851     *
852     * @return processMessage
853     */
854    public String getProcessMessage() {
855        return processMessage;
856    }
857
858    /**
859     * Sets the value for processMessage property
860     *
861     * @param processMessage
862     */
863    public void setProcessMessage(String processMessage) {
864        this.processMessage = processMessage;
865    }
866
867    protected LinkedHashMap toStringMapper() {
868        LinkedHashMap toStringMap = new LinkedHashMap();
869        toStringMap.put("olePatronId", olePatronId);
870        return toStringMap;
871    }
872
873    /**
874     * Gets the value of olePatronId property
875     *
876     * @return olePatronId
877     */
878    @Override
879    public String getId() {
880        return this.getOlePatronId();
881    }
882    /* *//**
883     * Gets the value of olePatronDocuments property
884     * @return olePatronDocuments
885     *//*
886    public List<OlePatronDocument> getOlePatronDocuments() {
887        return olePatronDocuments;
888    }
889    *//**
890     * Sets the value for olePatronDocuments property
891     * @param olePatronDocuments
892     *//*
893    public void setOlePatronDocuments(List<OlePatronDocument> olePatronDocuments) {
894        this.olePatronDocuments = olePatronDocuments;
895    }*/
896
897    /**
898     * Gets the value of proxyPatronId property
899     *
900     * @return proxyPatronId
901     */
902    public String getProxyPatronId() {
903        return proxyPatronId;
904    }
905
906    /**
907     * Sets the value for proxyPatronId property
908     *
909     * @param proxyPatronId
910     */
911    public void setProxyPatronId(String proxyPatronId) {
912        this.proxyPatronId = proxyPatronId;
913    }
914
915    /**
916     * Gets the value of oleProxyPatronDocuments property
917     *
918     * @return oleProxyPatronDocuments
919     */
920    public List<OleProxyPatronDocument> getOleProxyPatronDocuments() {
921        return oleProxyPatronDocuments;
922    }
923
924    /**
925     * Sets the value for oleProxyPatronDocuments property
926     *
927     * @param oleProxyPatronDocuments
928     */
929    public void setOleProxyPatronDocuments(List<OleProxyPatronDocument> oleProxyPatronDocuments) {
930        this.oleProxyPatronDocuments = oleProxyPatronDocuments;
931    }
932
933    /**
934     * Gets the value of activationDate property
935     *
936     * @return activationDate
937     */
938    public Date getActivationDate() {
939        return activationDate;
940    }
941
942    /**
943     * Sets the value for activationDate property
944     *
945     * @param activationDate
946     */
947    public void setActivationDate(Date activationDate) {
948        this.activationDate = activationDate;
949    }
950
951    /**
952     * Gets the value of generalBlockNotes property
953     *
954     * @return generalBlockNotes
955     */
956    public String getGeneralBlockNotes() {
957        return generalBlockNotes;
958    }
959
960    /**
961     * Sets the value for generalBlockNotes property
962     *
963     * @param generalBlockNotes
964     */
965    public void setGeneralBlockNotes(String generalBlockNotes) {
966        this.generalBlockNotes = generalBlockNotes;
967    }
968
969    /**
970     * Gets the value of oleEntityAddressBo property
971     *
972     * @return oleEntityAddressBo
973     */
974    public List<OleEntityAddressBo> getOleEntityAddressBo() {
975        return oleEntityAddressBo;
976    }
977
978    /**
979     * Sets the value for oleEntityAddressBo property
980     *
981     * @param oleEntityAddressBo
982     */
983    public void setOleEntityAddressBo(List<OleEntityAddressBo> oleEntityAddressBo) {
984        this.oleEntityAddressBo = oleEntityAddressBo;
985    }
986
987    /**
988     * Gets the value of patronAffiliations property
989     *
990     * @return patronAffiliations
991     */
992    public List<OlePatronAffiliation> getPatronAffiliations() {
993        return patronAffiliations;
994    }
995
996    /**
997     * Sets the value for patronAffiliations property
998     *
999     * @param patronAffiliations
1000     */
1001    public void setPatronAffiliations(List<OlePatronAffiliation> patronAffiliations) {
1002        this.patronAffiliations = patronAffiliations;
1003    }
1004
1005    /**
1006     * Gets the value of sourceBo property
1007     *
1008     * @return sourceBo
1009     */
1010    public OleSourceBo getSourceBo() {
1011        return sourceBo;
1012    }
1013
1014    /**
1015     * Sets the value for sourceBo property
1016     *
1017     * @param sourceBo
1018     */
1019    public void setSourceBo(OleSourceBo sourceBo) {
1020        this.sourceBo = sourceBo;
1021    }
1022
1023    /**
1024     * Gets the value of statisticalCategoryBo property
1025     *
1026     * @return statisticalCategoryBo
1027     */
1028    public OleStatisticalCategoryBo getStatisticalCategoryBo() {
1029        return statisticalCategoryBo;
1030    }
1031
1032    /**
1033     * Sets the value for statisticalCategoryBo property
1034     *
1035     * @param statisticalCategoryBo
1036     */
1037    public void setStatisticalCategoryBo(OleStatisticalCategoryBo statisticalCategoryBo) {
1038        this.statisticalCategoryBo = statisticalCategoryBo;
1039    }
1040
1041    /**
1042     * Gets the value of employments property
1043     *
1044     * @return employments
1045     */
1046    public List<EntityEmploymentBo> getEmployments() {
1047        return employments;
1048    }
1049
1050    public void setEmployments(List<EntityEmploymentBo> employments) {
1051        this.employments = employments;
1052    }
1053
1054    /**
1055     * Gets the value of source property
1056     *
1057     * @return source
1058     */
1059    public String getSource() {
1060        return source;
1061    }
1062
1063    public void setSource(String source) {
1064        if (source != null && source.equals("")) {
1065            this.source = null;
1066        } else {
1067            this.source = source;
1068        }
1069    }
1070
1071    /**
1072     * Gets the value of statisticalCategory property
1073     *
1074     * @return statisticalCategory
1075     */
1076    public String getStatisticalCategory() {
1077        return statisticalCategory;
1078    }
1079
1080    public void setStatisticalCategory(String statisticalCategory) {
1081        if (statisticalCategory != null && statisticalCategory.equals("")) {
1082            this.statisticalCategory = null;
1083        } else {
1084            this.statisticalCategory = statisticalCategory;
1085        }
1086    }
1087
1088    /**
1089     * Gets the value of sourceName property
1090     *
1091     * @return sourceName
1092     */
1093    public String getOleSourceName() {
1094        if (sourceBo != null) {
1095            return sourceBo.getOleSourceName();
1096        }
1097        return null;
1098    }
1099
1100    /**
1101     * Gets the value of statisticalCategoryName property
1102     *
1103     * @return statisticalCategoryName
1104     */
1105    public String getOleStatisticalCategoryName() {
1106        if (statisticalCategoryBo != null) {
1107            return statisticalCategoryBo.getOleStatisticalCategoryName();
1108        }
1109        return null;
1110    }
1111
1112    /**
1113     * Gets the value of patronBillFlag property
1114     *
1115     * @return patronBillFlag
1116     */
1117    public boolean isPatronBillFlag() {
1118        return patronBillFlag;
1119    }
1120
1121    /**
1122     * Sets the value for patronBillFlag property
1123     *
1124     * @param patronBillFlag
1125     */
1126    public void setPatronBillFlag(boolean patronBillFlag) {
1127        this.patronBillFlag = patronBillFlag;
1128    }
1129
1130    public List<OlePatronLostBarcode> getLostBarcodes() {
1131        return lostBarcodes;
1132    }
1133
1134    public void setLostBarcodes(List<OlePatronLostBarcode> lostBarcodes) {
1135        this.lostBarcodes = lostBarcodes;
1136    }
1137
1138    public List<OleAddressBo> getOleAddresses() {
1139        return oleAddresses;
1140    }
1141
1142    public void setOleAddresses(List<OleAddressBo> oleAddresses) {
1143        this.oleAddresses = oleAddresses;
1144    }
1145
1146    public byte[] getPatronPhotograph() {
1147        return patronPhotograph;
1148    }
1149
1150    public void setPatronPhotograph(byte[] patronPhotograph) {
1151        this.patronPhotograph = patronPhotograph;
1152    }
1153
1154    public List<OlePatronLocalIdentificationBo> getOlePatronLocalIds() {
1155        return olePatronLocalIds;
1156    }
1157
1158    public void setOlePatronLocalIds(List<OlePatronLocalIdentificationBo> olePatronLocalIds) {
1159        this.olePatronLocalIds = olePatronLocalIds;
1160    }
1161
1162    public boolean isLoanFlag() {
1163        return loanFlag;
1164    }
1165
1166    public void setLoanFlag(boolean loanFlag) {
1167        this.loanFlag = loanFlag;
1168    }
1169
1170    public boolean isTempCircHistoryFlag() {
1171        return tempCircHistoryFlag;
1172    }
1173
1174    public void setTempCircHistoryFlag(boolean tempCircHistoryFlag) {
1175        this.tempCircHistoryFlag = tempCircHistoryFlag;
1176    }
1177
1178    public boolean isRequestFlag() {
1179        return requestFlag;
1180    }
1181
1182    public void setRequestFlag(boolean requestFlag) {
1183        this.requestFlag = requestFlag;
1184    }
1185
1186    public List<OleProxyPatronDocument> getOleProxyPatronDocumentList() {
1187        return oleProxyPatronDocumentList;
1188    }
1189
1190    public void setOleProxyPatronDocumentList(List<OleProxyPatronDocument> oleProxyPatronDocumentList) {
1191        this.oleProxyPatronDocumentList = oleProxyPatronDocumentList;
1192    }
1193
1194    public boolean isPointing() {
1195        return pointing;
1196    }
1197
1198    public void setPointing(boolean pointing) {
1199        this.pointing = pointing;
1200    }
1201
1202    public boolean isStartingIndexExecuted() {
1203        return startingIndexExecuted;
1204    }
1205
1206    public void setStartingIndexExecuted(boolean startingIndexExecuted) {
1207        this.startingIndexExecuted = startingIndexExecuted;
1208    }
1209
1210    public boolean isActivateBarcode() {
1211        return activateBarcode;
1212    }
1213
1214    public void setActivateBarcode(boolean activateBarcode) {
1215        this.activateBarcode = activateBarcode;
1216    }
1217
1218    public boolean isDeactivateBarcode() {
1219        return deactivateBarcode;
1220    }
1221
1222    public void setDeactivateBarcode(boolean deactivateBarcode) {
1223        this.deactivateBarcode = deactivateBarcode;
1224    }
1225
1226    public String getLostStatus() {
1227        return lostStatus;
1228    }
1229
1230    public void setLostStatus(String lostStatus) {
1231        this.lostStatus = lostStatus;
1232    }
1233
1234    public String getLostDescription() {
1235        return lostDescription;
1236    }
1237
1238    public void setLostDescription(String lostDescription) {
1239        this.lostDescription = lostDescription;
1240    }
1241
1242    public boolean isInvalidateBarcode() {
1243        return invalidateBarcode;
1244    }
1245
1246    public void setInvalidateBarcode(boolean invalidateBarcode) {
1247        this.invalidateBarcode = invalidateBarcode;
1248    }
1249
1250    public boolean isReinstateBarcode() {
1251        return reinstateBarcode;
1252    }
1253
1254    public void setReinstateBarcode(boolean reinstateBarcode) {
1255        this.reinstateBarcode = reinstateBarcode;
1256    }
1257
1258    public boolean isSkipBarcodeValidation() {
1259        return skipBarcodeValidation;
1260    }
1261
1262    public void setSkipBarcodeValidation(boolean skipBarcodeValidation) {
1263        this.skipBarcodeValidation = skipBarcodeValidation;
1264    }
1265
1266    public boolean isBarcodeChanged() {
1267        return barcodeChanged;
1268    }
1269
1270    public void setBarcodeChanged(boolean barcodeChanged) {
1271        this.barcodeChanged = barcodeChanged;
1272    }
1273
1274    public boolean isBarcodeEditable() {
1275        return barcodeEditable;
1276    }
1277
1278    public void setBarcodeEditable(boolean barcodeEditable) {
1279        this.barcodeEditable = barcodeEditable;
1280    }
1281
1282    public boolean isPopupDialog() {
1283        return popupDialog;
1284    }
1285
1286    public void setPopupDialog(boolean popupDialog) {
1287        this.popupDialog = popupDialog;
1288    }
1289
1290    public String getPatronMessage() {
1291        return patronMessage;
1292    }
1293
1294    public void setPatronMessage(String patronMessage) {
1295        this.patronMessage = patronMessage;
1296    }
1297
1298    public String getUiMessageType() {
1299        return uiMessageType;
1300    }
1301
1302    public void setUiMessageType(String uiMessageType) {
1303        this.uiMessageType = uiMessageType;
1304    }
1305
1306    public boolean isReinstated() {
1307        return reinstated;
1308    }
1309
1310    public void setReinstated(boolean reinstated) {
1311        this.reinstated = reinstated;
1312    }
1313
1314    public OLEPatronEntityViewBo getOlePatronEntityViewBo() {
1315        return olePatronEntityViewBo;
1316    }
1317
1318    public void setOlePatronEntityViewBo(OLEPatronEntityViewBo olePatronEntityViewBo) {
1319        this.olePatronEntityViewBo = olePatronEntityViewBo;
1320    }
1321
1322    public String getPatronBillFileName() {
1323        return patronBillFileName;
1324    }
1325
1326    public void setPatronBillFileName(String patronBillFileName) {
1327        this.patronBillFileName = patronBillFileName;
1328    }
1329
1330    public String getViewBillUrl() {
1331        return viewBillUrl;
1332    }
1333
1334    public void setViewBillUrl(String viewBillUrl) {
1335        this.viewBillUrl = viewBillUrl;
1336    }
1337
1338    public String getCreateBillUrl() {
1339        return createBillUrl;
1340    }
1341
1342    public void setCreateBillUrl(String createBillUrl) {
1343        this.createBillUrl = createBillUrl;
1344    }
1345
1346    public String getNamePrefix() {
1347        return namePrefix;
1348    }
1349
1350    public void setNamePrefix(String namePrefix) {
1351        this.namePrefix = namePrefix;
1352    }
1353
1354    public String getNameSuffix() {
1355        return nameSuffix;
1356    }
1357
1358    public void setNameSuffix(String nameSuffix) {
1359        this.nameSuffix = nameSuffix;
1360    }
1361
1362    public List<EntityPhoneBo> getDeletedPhones() {
1363        return deletedPhones;
1364    }
1365
1366    public void setDeletedPhones(List<EntityPhoneBo> deletedPhones) {
1367        this.deletedPhones = deletedPhones;
1368    }
1369
1370    public List<OleEntityAddressBo> getDeletedOleEntityAddressBo() {
1371        return deletedOleEntityAddressBo;
1372    }
1373
1374    public void setDeletedOleEntityAddressBo(List<OleEntityAddressBo> deletedOleEntityAddressBo) {
1375        this.deletedOleEntityAddressBo = deletedOleEntityAddressBo;
1376    }
1377
1378    public List<EntityEmailBo> getDeletedEmails() {
1379        return deletedEmails;
1380    }
1381
1382    public void setDeletedEmails(List<EntityEmailBo> deletedEmails) {
1383        this.deletedEmails = deletedEmails;
1384    }
1385
1386    public List<OleProxyPatronDocument> getDeletedOleProxyPatronDocuments() {
1387        return deletedOleProxyPatronDocuments;
1388    }
1389
1390    public void setDeletedOleProxyPatronDocuments(List<OleProxyPatronDocument> deletedOleProxyPatronDocuments) {
1391        this.deletedOleProxyPatronDocuments = deletedOleProxyPatronDocuments;
1392    }
1393
1394    public List<OlePatronAffiliation> getDeletedPatronAffiliations() {
1395        return deletedPatronAffiliations;
1396    }
1397
1398    public void setDeletedPatronAffiliations(List<OlePatronAffiliation> deletedPatronAffiliations) {
1399        this.deletedPatronAffiliations = deletedPatronAffiliations;
1400    }
1401
1402    public List<EntityEmploymentBo> getDeletedEmployments() {
1403        return deletedEmployments;
1404    }
1405
1406    public void setDeletedEmployments(List<EntityEmploymentBo> deletedEmployments) {
1407        this.deletedEmployments = deletedEmployments;
1408    }
1409
1410    public List<OlePatronNotes> getDeletedNotes() {
1411        return deletedNotes;
1412    }
1413
1414    public void setDeletedNotes(List<OlePatronNotes> deletedNotes) {
1415        this.deletedNotes = deletedNotes;
1416    }
1417
1418    public List<OlePatronLocalIdentificationBo> getDeletedOlePatronLocalIds() {
1419        return deletedOlePatronLocalIds;
1420    }
1421
1422    public void setDeletedOlePatronLocalIds(List<OlePatronLocalIdentificationBo> deletedOlePatronLocalIds) {
1423        this.deletedOlePatronLocalIds = deletedOlePatronLocalIds;
1424    }
1425
1426    public boolean isShowLoanedRecords() {
1427        return showLoanedRecords;
1428    }
1429
1430    public void setShowLoanedRecords(boolean showLoanedRecords) {
1431        this.showLoanedRecords = showLoanedRecords;
1432    }
1433
1434    public boolean isShowRequestedItems() {
1435        return showRequestedItems;
1436    }
1437
1438    public void setShowRequestedItems(boolean showRequestedItems) {
1439        this.showRequestedItems = showRequestedItems;
1440    }
1441
1442    public boolean isShowTemporaryCirculationHistoryRecords() {
1443        return showTemporaryCirculationHistoryRecords;
1444    }
1445
1446    public void setShowTemporaryCirculationHistoryRecords(boolean showTemporaryCirculationHistoryRecords) {
1447        this.showTemporaryCirculationHistoryRecords = showTemporaryCirculationHistoryRecords;
1448    }
1449}