001 /*
002 * Copyright 2011 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.kfs.module.cg.businessobject;
017
018 import java.util.LinkedHashMap;
019
020 import org.kuali.rice.kns.bo.Inactivateable;
021 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
022
023 /**
024 * Represents a relationship between a {@link Proposal} and a {@link ResearchRisk}.
025 */
026 public class ProposalResearchRisk extends PersistableBusinessObjectBase implements Inactivateable {
027
028 private String researchRiskTypeCode;
029 private Long proposalNumber;
030 private boolean active;
031
032 private Proposal proposal;
033 private ResearchRiskType researchRiskType;
034
035 /**
036 * Default constructor.
037 */
038 public ProposalResearchRisk() {
039 super();
040 }
041
042 @Override
043 protected LinkedHashMap toStringMapper() {
044
045 LinkedHashMap m = new LinkedHashMap();
046 m.put("proposalNumber", proposalNumber);
047 m.put("researchRiskTypeCode", researchRiskTypeCode);
048 m.put("active", Boolean.toString(active));
049
050 return m;
051 }
052
053 /**
054 * Gets the {@link Proposal}.
055 *
056 * @return
057 */
058 public Proposal getProposal() {
059 return proposal;
060 }
061
062 /**
063 * Sets the {@link Proposal}.
064 *
065 * @param proposal
066 */
067 public void setProposal(Proposal proposal) {
068 this.proposal = proposal;
069 }
070
071 /**
072 * Gets the {@link ResearchRiskType} of the risk associated with the {@link Proposal}.
073 *
074 * @return the {@link ResearchRiskType}.
075 */
076 public ResearchRiskType getResearchRiskType() {
077 return researchRiskType;
078 }
079
080 /**
081 * Sets the {@link ResearchRiskType} associated with the {@link Proposal}.
082 *
083 * @param researchRiskType
084 */
085 public void setResearchRiskType(ResearchRiskType researchRiskType) {
086 this.researchRiskType = researchRiskType;
087 }
088
089 /**
090 * Returns whether or not this object is active.
091 *
092 * @return true or false
093 */
094 public boolean isActive() {
095 return active;
096 }
097
098 /**
099 * Sets the active indicator for this object.
100 *
101 * @param active
102 */
103 public void setActive(boolean active) {
104 this.active = active;
105 }
106
107 /**
108 * Gets the key of the {@link Proposal} related to the {@link ResearchRisk}.
109 *
110 * @return the id of the {@link Proposal} related to the {@link ResearchRisk}.
111 */
112 public Long getProposalNumber() {
113 return proposalNumber;
114 }
115
116 /**
117 * Sets the key of the {@link Proposal} related to the {@link ResearchRisk}.
118 *
119 * @param the id of the {@link Proposal} related to the {@link ResearchRisk}.
120 */
121 public void setProposalNumber(Long proposalNumber) {
122 this.proposalNumber = proposalNumber;
123 }
124
125 /**
126 * Gets the code of the {@link ResearchRiskType} associated to the {@link Proposal}.
127 *
128 * @return the code of the {@link ResearchRiskType} associated to the {@link Proposal}.
129 */
130 public String getResearchRiskTypeCode() {
131 return researchRiskTypeCode;
132 }
133
134 /**
135 * Gets the code of the {@link ResearchRiskType} associated to the {@link Proposal}.
136 *
137 * @param the code of the type of the {@link ResearchRiskType} associated to the {@link Proposal}.
138 */
139 public void setResearchRiskTypeCode(String researchRiskTypeCode) {
140 this.researchRiskTypeCode = researchRiskTypeCode;
141 }
142
143 }