001 package org.kuali.ole.patron.bo;
002
003 import org.apache.commons.collections.CollectionUtils;
004 import org.kuali.ole.patron.api.OlePatronAffiliationContract;
005 import org.kuali.ole.patron.api.OlePatronAffiliationDefinition;
006 import org.kuali.rice.kim.api.identity.employment.EntityEmployment;
007 import org.kuali.rice.kim.api.identity.phone.EntityPhone;
008 import org.kuali.rice.kim.impl.identity.affiliation.EntityAffiliationBo;
009 import org.kuali.rice.kim.impl.identity.affiliation.EntityAffiliationTypeBo;
010 import org.kuali.rice.kim.impl.identity.employment.EntityEmploymentBo;
011 import org.kuali.rice.kim.impl.identity.name.EntityNameBo;
012 import org.kuali.rice.kim.impl.identity.phone.EntityPhoneBo;
013 import org.kuali.rice.krad.bo.BusinessObjectBase;
014
015 import java.util.ArrayList;
016 import java.util.List;
017
018 /**
019 OlePatronAffiliation provides OlePatronAffiliation information through getter and setter.
020 */
021 public class OlePatronAffiliation extends BusinessObjectBase implements OlePatronAffiliationContract {
022
023 private String entityAffiliationId;
024
025 private String entityId;
026
027 private String affiliationTypeCode;
028
029 private String campusCode;
030
031 private boolean defaultValue;
032
033 private boolean active;
034
035 private EntityAffiliationTypeBo affiliationType = new EntityAffiliationTypeBo();
036
037 private List<EntityEmploymentBo> employments = new ArrayList<EntityEmploymentBo>();
038
039 private Long versionNumber;
040
041 private String objectId;
042
043 public OlePatronAffiliation() {
044
045 }
046
047 /**
048 * Constructor sets the values to entityAffiliationBo object from OlePatronAffiliation
049 * @param entityAffiliationBo
050 */
051 public OlePatronAffiliation(EntityAffiliationBo entityAffiliationBo) {
052 this.setEntityAffiliationId(entityAffiliationBo.getId());
053 this.setAffiliationTypeCode(entityAffiliationBo.getAffiliationTypeCode());
054 this.setAffiliationType(entityAffiliationBo.getAffiliationType());
055 this.setCampusCode(entityAffiliationBo.getCampusCode());
056 this.setDefaultValue(entityAffiliationBo.getDefaultValue());
057 this.setActive(entityAffiliationBo.getActive());
058 this.setVersionNumber(entityAffiliationBo.getVersionNumber());
059 this.setObjectId(entityAffiliationBo.getObjectId());
060 }
061 /**
062 * Gets the value of entityAffiliationId property
063 * @return entityAffiliationId
064 */
065 public String getEntityAffiliationId() {
066 return entityAffiliationId;
067 }
068 /**
069 * Sets the value for entityAffiliationId property
070 * @param entityAffiliationId
071 */
072 public void setEntityAffiliationId(String entityAffiliationId) {
073 this.entityAffiliationId = entityAffiliationId;
074 }
075 /**
076 * Gets the value of affiliationTypeCode property
077 * @return affiliationTypeCode
078 */
079 public String getAffiliationTypeCode() {
080 return affiliationTypeCode;
081 }
082 /**
083 * Sets the value for affiliationTypeCode property
084 * @param affiliationTypeCode
085 */
086 public void setAffiliationTypeCode(String affiliationTypeCode) {
087 this.affiliationTypeCode = affiliationTypeCode;
088 }
089 /**
090 * Gets the value of campusCode property
091 * @return campusCode
092 */
093 public String getCampusCode() {
094 return campusCode;
095 }
096 /**
097 * Sets the value for campusCode property
098 * @param campusCode
099 */
100 public void setCampusCode(String campusCode) {
101 this.campusCode = campusCode;
102 }
103 /**
104 * Gets the value of defaultValue property
105 * @return defaultValue
106 */
107 public boolean isDefaultValue() {
108 return defaultValue;
109 }
110 /**
111 * Sets the value for defaultValue property
112 * @param defaultValue
113 */
114 public void setDefaultValue(boolean defaultValue) {
115 this.defaultValue = defaultValue;
116 }
117 /**
118 * Gets the value of active property
119 * @return active
120 */
121 public boolean isActive() {
122 return active;
123 }
124 /**
125 * Sets the value for active property
126 * @param active
127 */
128 public void setActive(boolean active) {
129 this.active = active;
130 }
131
132 /**
133 * Gets the value of affiliationType property
134 * @return affiliationType
135 */
136 public EntityAffiliationTypeBo getAffiliationType() {
137 return affiliationType;
138 }
139 /**
140 * Sets the value for affiliationType property
141 * @param affiliationType
142 */
143 public void setAffiliationType(EntityAffiliationTypeBo affiliationType) {
144 this.affiliationType = affiliationType;
145 }
146 /**
147 * Gets the value of employments property
148 * @return employments
149 */
150 public List<EntityEmploymentBo> getEmployments() {
151 return employments;
152 }
153 /**
154 * Sets the value for employments property
155 * @param employments
156 */
157 public void setEmployments(List<EntityEmploymentBo> employments) {
158 this.employments = employments;
159 }
160 /**
161 * Gets the value of EntityAffiliation property
162 * @return EntityAffiliation
163 */
164 public EntityAffiliationBo getEntityAffliationBo() {
165 EntityAffiliationBo entityAffiliationBo = new EntityAffiliationBo();
166 entityAffiliationBo.setId(this.getEntityAffiliationId());
167 entityAffiliationBo.setAffiliationTypeCode(this.getAffiliationTypeCode());
168 entityAffiliationBo.setAffiliationType(this.getAffiliationType());
169 entityAffiliationBo.setActive(this.isActive());
170 entityAffiliationBo.setDefaultValue(this.defaultValue);
171 entityAffiliationBo.setCampusCode(this.getCampusCode());
172 entityAffiliationBo.setObjectId(this.getObjectId());
173 entityAffiliationBo.setVersionNumber(this.getVersionNumber());
174 entityAffiliationBo.setEntityId(this.getEntityId());
175 return entityAffiliationBo;
176 }
177
178 /**
179 * This method converts the PersistableBusinessObjectBase OleBorrowerType into immutable object OlePatronAffiliationDefinition
180 * @param bo(OlePatronAffiliation)
181 * @return OlePatronAffiliationDefinition
182 */
183 static OlePatronAffiliationDefinition to(OlePatronAffiliation bo) {
184 if (bo == null) { return null; }
185 return OlePatronAffiliationDefinition.Builder.create(bo).build();
186 }
187
188 /**
189 * This method converts the immutable object OlePatronAffiliationDefinition into PersistableBusinessObjectBase OlePatronAffiliation
190 * @param im(OlePatronAffiliationDefinition)
191 * @return bo(OlePatronAffiliation)
192 */
193 static OlePatronAffiliation from(OlePatronAffiliationDefinition im) {
194 if (im == null) { return null; }
195
196 OlePatronAffiliation bo = new OlePatronAffiliation();
197 bo.entityAffiliationId= im.getEntityAffiliationId();
198 bo.affiliationTypeCode = im.getAffiliationTypeCode();
199 if (im.getAffiliationType() != null) {
200 bo.affiliationType = EntityAffiliationTypeBo.from(im.getAffiliationType());
201 }
202 bo.defaultValue = im.isDefaultValue();
203 bo.active = im.isActive();
204 bo.versionNumber = im.getVersionNumber();
205 bo.entityId = im.getEntityId();
206 bo.objectId = im.getObjectId();
207
208 if (CollectionUtils.isNotEmpty(im.getEmployments())) {
209 for (EntityEmployment entityEmployment : im.getEmployments()) {
210 bo.employments.add(EntityEmploymentBo.from(entityEmployment));
211 }
212 }
213 return bo;
214 }
215
216 @Override
217 public void refresh() {
218 //To change body of implemented methods use File | Settings | File Templates.
219 }
220 /**
221 * Gets the value of entityAffiliationId property
222 * @return entityAffiliationId
223 */
224 @Override
225 public String getId() {
226 return this.entityAffiliationId;
227 }
228
229 /**
230 * Gets the value of versionNumber property
231 * @return versionNumber
232 */
233 @Override
234 public Long getVersionNumber() {
235 return this.versionNumber;
236 }
237 /**
238 * Sets the value for versionNumber property
239 * @param versionNumber
240 */
241 public void setVersionNumber(Long versionNumber) {
242 this.versionNumber = versionNumber;
243 }
244 /**
245 * Gets the value of objectId property
246 * @return objectId
247 */
248 public String getObjectId() {
249 return objectId;
250 }
251 /**
252 * Sets the value for objectId property
253 * @param objectId
254 */
255 public void setObjectId(String objectId) {
256 this.objectId = objectId;
257 }
258 /**
259 * Gets the value of entityId property
260 * @return entityId
261 */
262 public String getEntityId() {
263 return entityId;
264 }
265 /**
266 * Sets the value for entityId property
267 * @param entityId
268 */
269 public void setEntityId(String entityId) {
270 this.entityId = entityId;
271 }
272 }