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