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 017 package org.kuali.kfs.module.cg.businessobject; 018 019 import java.util.LinkedHashMap; 020 021 import org.kuali.rice.kns.bo.Inactivateable; 022 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 023 import org.kuali.rice.kns.util.KualiDecimal; 024 import org.kuali.rice.kns.util.ObjectUtils; 025 026 /** 027 * 028 */ 029 public class ProposalSubcontractor extends PersistableBusinessObjectBase implements Inactivateable { 030 031 private String proposalSubcontractorNumber; 032 private Long proposalNumber; 033 private String subcontractorNumber; 034 private KualiDecimal proposalSubcontractorAmount; 035 private String proposalSubcontractorDescription; 036 private boolean active = true; 037 038 private SubContractor subcontractor; 039 040 /** 041 * Default constructor. 042 */ 043 public ProposalSubcontractor() { 044 045 } 046 047 /** 048 * Gets the proposalSubcontractorNumber attribute. 049 * 050 * @return Returns the proposalSubcontractorNumber 051 */ 052 public String getProposalSubcontractorNumber() { 053 return proposalSubcontractorNumber; 054 } 055 056 /** 057 * Sets the proposalSubcontractorNumber attribute. 058 * 059 * @param proposalSubcontractorNumber The proposalSubcontractorNumber to set. 060 */ 061 public void setProposalSubcontractorNumber(String proposalSubcontractorNumber) { 062 this.proposalSubcontractorNumber = proposalSubcontractorNumber; 063 } 064 065 066 /** 067 * Gets the proposalNumber attribute. 068 * 069 * @return Returns the proposalNumber 070 */ 071 public Long getProposalNumber() { 072 return proposalNumber; 073 } 074 075 /** 076 * Sets the proposalNumber attribute. 077 * 078 * @param proposalNumber The proposalNumber to set. 079 */ 080 public void setProposalNumber(Long proposalNumber) { 081 this.proposalNumber = proposalNumber; 082 } 083 084 085 /** 086 * Gets the subcontractorNumber attribute. 087 * 088 * @return Returns the subcontractorNumber 089 */ 090 public String getSubcontractorNumber() { 091 return subcontractorNumber; 092 } 093 094 /** 095 * Sets the subcontractorNumber attribute. 096 * 097 * @param subcontractorNumber The subcontractorNumber to set. 098 */ 099 public void setSubcontractorNumber(String subcontractorNumber) { 100 this.subcontractorNumber = subcontractorNumber; 101 } 102 103 104 /** 105 * Gets the proposalSubcontractorAmount attribute. 106 * 107 * @return Returns the proposalSubcontractorAmount 108 */ 109 public KualiDecimal getProposalSubcontractorAmount() { 110 return proposalSubcontractorAmount; 111 } 112 113 /** 114 * Sets the proposalSubcontractorAmount attribute. 115 * 116 * @param proposalSubcontractorAmount The proposalSubcontractorAmount to set. 117 */ 118 public void setProposalSubcontractorAmount(KualiDecimal proposalSubcontractorAmount) { 119 this.proposalSubcontractorAmount = proposalSubcontractorAmount; 120 } 121 122 /** 123 * Gets the proposalSubcontractorDescription attribute. 124 * 125 * @return Returns the proposalSubcontractorDescription. 126 */ 127 public String getProposalSubcontractorDescription() { 128 return proposalSubcontractorDescription; 129 } 130 131 /** 132 * Sets the proposalSubcontractorDescription attribute value. 133 * 134 * @param proposalSubcontractorDescription The proposalSubcontractorDescription to set. 135 */ 136 public void setProposalSubcontractorDescription(String proposalSubcontractorDescription) { 137 this.proposalSubcontractorDescription = proposalSubcontractorDescription; 138 } 139 140 /** 141 * Gets the active attribute. 142 * 143 * @return Returns the active. 144 */ 145 public boolean isActive() { 146 return active; 147 } 148 149 /** 150 * Sets the active attribute value. 151 * 152 * @param active The active to set. 153 */ 154 public void setActive(boolean active) { 155 this.active = active; 156 } 157 158 /** 159 * @return Returns the subcontractor. 160 */ 161 public SubContractor getSubcontractor() { 162 return subcontractor; 163 } 164 165 /** 166 * @param subcontractor The subcontractor to set. 167 * @deprecated 168 */ 169 public void setSubcontractor(SubContractor subcontractor) { 170 this.subcontractor = subcontractor; 171 } 172 173 /** 174 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 175 */ 176 protected LinkedHashMap toStringMapper() { 177 LinkedHashMap m = new LinkedHashMap(); 178 m.put("proposalSubcontractorNumber", this.proposalSubcontractorNumber); 179 if (this.proposalNumber != null) { 180 m.put("proposalNumber", this.proposalNumber.toString()); 181 } 182 m.put("subcontractorNumber", this.subcontractorNumber); 183 return m; 184 } 185 186 /** 187 * This can be displayed by Proposal.xml lookup results. 188 * 189 * @see Object#toString() 190 */ 191 @Override 192 public String toString() { 193 // todo: get "nonexistent" from ApplicationResources.properties via KFSKeyConstants? 194 String name = ObjectUtils.isNull(getSubcontractor()) ? "nonexistent" : getSubcontractor().getSubcontractorName(); 195 String description = getProposalSubcontractorDescription() == null ? "" : " " + getProposalSubcontractorDescription(); 196 return name + " " + getProposalSubcontractorAmount() + description; 197 } 198 }