001 /** 002 * Copyright 2005-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community 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.opensource.org/licenses/ecl2.php 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 package org.kuali.rice.kim.impl.role; 017 018 import org.kuali.rice.kim.api.role.RoleResponsibility; 019 import org.kuali.rice.kim.api.role.RoleResponsibilityContract; 020 import org.kuali.rice.kim.impl.responsibility.ResponsibilityBo; 021 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 022 import org.kuali.rice.krad.data.jpa.converters.BooleanYNConverter; 023 024 import javax.persistence.Column; 025 import javax.persistence.Entity; 026 import javax.persistence.FetchType; 027 import javax.persistence.Id; 028 import javax.persistence.JoinColumn; 029 import javax.persistence.ManyToOne; 030 import javax.persistence.Table; 031 032 /** 033 * @author Kuali Rice Team (rice.collab@kuali.org) 034 */ 035 @Entity 036 @Table(name = "KRIM_ROLE_RSP_T") 037 public class RoleResponsibilityBo extends PersistableBusinessObjectBase implements RoleResponsibilityContract { 038 private static final long serialVersionUID = 1L; 039 @Id 040 @Column(name = "ROLE_RSP_ID") 041 private String roleResponsibilityId; 042 @Column(name = "ROLE_ID") 043 private String roleId; 044 @Column(name = "RSP_ID") 045 private String responsibilityId; 046 @javax.persistence.Convert(converter=BooleanYNConverter.class) 047 @Column(name = "ACTV_IND") 048 private boolean active; 049 @ManyToOne(targetEntity = ResponsibilityBo.class, fetch = FetchType.EAGER, cascade = {}) 050 @JoinColumn(name = "RSP_ID", insertable = false, updatable = false) 051 private ResponsibilityBo kimResponsibility; 052 053 054 public static RoleResponsibility to(RoleResponsibilityBo bo) { 055 if (bo == null) { 056 return null; 057 } 058 059 return RoleResponsibility.Builder.create(bo).build(); 060 } 061 062 public static RoleResponsibilityBo from(RoleResponsibility immutable) { 063 if (immutable == null) { 064 return null; 065 } 066 067 RoleResponsibilityBo bo = new RoleResponsibilityBo(); 068 bo.roleResponsibilityId = immutable.getRoleResponsibilityId(); 069 bo.roleId = immutable.getRoleId(); 070 bo.responsibilityId = immutable.getResponsibilityId(); 071 bo.active = immutable.isActive(); 072 bo.setVersionNumber(immutable.getVersionNumber()); 073 074 return bo; 075 } 076 077 @Override 078 public String getRoleResponsibilityId() { 079 return roleResponsibilityId; 080 } 081 082 public void setRoleResponsibilityId(String roleResponsibilityId) { 083 this.roleResponsibilityId = roleResponsibilityId; 084 } 085 086 @Override 087 public String getRoleId() { 088 return roleId; 089 } 090 091 public void setRoleId(String roleId) { 092 this.roleId = roleId; 093 } 094 095 @Override 096 public String getResponsibilityId() { 097 return responsibilityId; 098 } 099 100 public void setResponsibilityId(String responsibilityId) { 101 this.responsibilityId = responsibilityId; 102 } 103 104 public boolean getActive() { 105 return active; 106 } 107 108 @Override 109 public boolean isActive() { 110 return active; 111 } 112 113 public void setActive(boolean active) { 114 this.active = active; 115 } 116 117 public ResponsibilityBo getKimResponsibility() { 118 return kimResponsibility; 119 } 120 121 public void setKimResponsibility(ResponsibilityBo kimResponsibility) { 122 this.kimResponsibility = kimResponsibility; 123 } 124 125 126 }