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    
025    /**
026     * This class represents an association between an award and a subcontractor. It's like a reference to the subcontractor from the
027     * award. This way an award can maintain a collection of these references instead of owning subcontractors directly.
028     */
029    public class AwardSubcontractor extends PersistableBusinessObjectBase implements Inactivateable {
030    
031        private String awardSubcontractorAmendmentNumber;
032        private String awardSubcontractorNumber;
033        private String subcontractorNumber;
034        private Long proposalNumber;
035        private KualiDecimal subcontractorAmount;
036        private String subcontractorContactFirstName;
037        private String subcontractorContactLastName;
038        private String subcontractorAuditHistoryText;
039        private String awardSubcontractorDescription;
040        private boolean active = true;
041    
042        private SubContractor subcontractor;
043    
044        /**
045         * Default constructor.
046         */
047        public AwardSubcontractor() {
048        }
049    
050        /**
051         * Gets the awardSubcontractorAmendmentNumber attribute.
052         * 
053         * @return Returns the awardSubcontractorAmendmentNumber
054         */
055        public String getAwardSubcontractorAmendmentNumber() {
056            return awardSubcontractorAmendmentNumber;
057        }
058    
059        /**
060         * Sets the awardSubcontractorAmendmentNumber attribute.
061         * 
062         * @param awardSubcontractorAmendmentNumber The awardSubcontractorAmendmentNumber to set.
063         */
064        public void setAwardSubcontractorAmendmentNumber(String awardSubcontractorAmendmentNumber) {
065            this.awardSubcontractorAmendmentNumber = awardSubcontractorAmendmentNumber;
066        }
067    
068    
069        /**
070         * Gets the awardSubcontractorNumber attribute.
071         * 
072         * @return Returns the awardSubcontractorNumber
073         */
074        public String getAwardSubcontractorNumber() {
075            return awardSubcontractorNumber;
076        }
077    
078        /**
079         * Sets the awardSubcontractorNumber attribute.
080         * 
081         * @param awardSubcontractorNumber The awardSubcontractorNumber to set.
082         */
083        public void setAwardSubcontractorNumber(String awardSubcontractorNumber) {
084            this.awardSubcontractorNumber = awardSubcontractorNumber;
085        }
086    
087    
088        /**
089         * Gets the subcontractorNumber attribute.
090         * 
091         * @return Returns the subcontractorNumber
092         */
093        public String getSubcontractorNumber() {
094            return subcontractorNumber;
095        }
096    
097        /**
098         * Sets the subcontractorNumber attribute.
099         * 
100         * @param subcontractorNumber The subcontractorNumber to set.
101         */
102        public void setSubcontractorNumber(String subcontractorNumber) {
103            this.subcontractorNumber = subcontractorNumber;
104        }
105    
106    
107        /**
108         * Gets the proposalNumber attribute.
109         * 
110         * @return Returns the proposalNumber
111         */
112        public Long getProposalNumber() {
113            return proposalNumber;
114        }
115    
116        /**
117         * Sets the proposalNumber attribute.
118         * 
119         * @param proposalNumber The proposalNumber to set.
120         */
121        public void setProposalNumber(Long proposalNumber) {
122            this.proposalNumber = proposalNumber;
123        }
124    
125    
126        /**
127         * Gets the subcontractorAmount attribute.
128         * 
129         * @return Returns the subcontractorAmount
130         */
131        public KualiDecimal getSubcontractorAmount() {
132            return subcontractorAmount;
133        }
134    
135        /**
136         * Sets the subcontractorAmount attribute.
137         * 
138         * @param subcontractorAmount The subcontractorAmount to set.
139         */
140        public void setSubcontractorAmount(KualiDecimal subcontractorAmount) {
141            this.subcontractorAmount = subcontractorAmount;
142        }
143    
144    
145        /**
146         * Gets the subcontractorContactFirstName attribute.
147         * 
148         * @return Returns the subcontractorContactFirstName
149         */
150        public String getSubcontractorContactFirstName() {
151            return subcontractorContactFirstName;
152        }
153    
154        /**
155         * Sets the subcontractorContactFirstName attribute.
156         * 
157         * @param subcontractorContactFirstName The subcontractorContactFirstName to set.
158         */
159        public void setSubcontractorContactFirstName(String subcontractorContactFirstName) {
160            this.subcontractorContactFirstName = subcontractorContactFirstName;
161        }
162    
163    
164        /**
165         * Gets the subcontractorContactLastName attribute.
166         * 
167         * @return Returns the subcontractorContactLastName
168         */
169        public String getSubcontractorContactLastName() {
170            return subcontractorContactLastName;
171        }
172    
173        /**
174         * Sets the subcontractorContactLastName attribute.
175         * 
176         * @param subcontractorContactLastName The subcontractorContactLastName to set.
177         */
178        public void setSubcontractorContactLastName(String subcontractorContactLastName) {
179            this.subcontractorContactLastName = subcontractorContactLastName;
180        }
181    
182    
183        /**
184         * Gets the subcontractorAuditHistoryText attribute.
185         * 
186         * @return Returns the subcontractorAuditHistoryText
187         */
188        public String getSubcontractorAuditHistoryText() {
189            return subcontractorAuditHistoryText;
190        }
191    
192        /**
193         * Sets the subcontractorAuditHistoryText attribute.
194         * 
195         * @param subcontractorAuditHistoryText The subcontractorAuditHistoryText to set.
196         */
197        public void setSubcontractorAuditHistoryText(String subcontractorAuditHistoryText) {
198            this.subcontractorAuditHistoryText = subcontractorAuditHistoryText;
199        }
200    
201        /**
202         * Gets the awardSubcontractorDescription attribute.
203         * 
204         * @return Returns the awardSubcontractorDescription.
205         */
206        public String getAwardSubcontractorDescription() {
207            return awardSubcontractorDescription;
208        }
209    
210        /**
211         * Sets the awardSubcontractorDescription attribute value.
212         * 
213         * @param awardSubcontractorDescription The awardSubcontractorDescription to set.
214         */
215        public void setAwardSubcontractorDescription(String awardSubcontractorDescription) {
216            this.awardSubcontractorDescription = awardSubcontractorDescription;
217        }
218    
219        /**
220         * Gets the subcontractor attribute.
221         * 
222         * @return Returns the subcontractor.
223         */
224        public SubContractor getSubcontractor() {
225            return subcontractor;
226        }
227    
228        /**
229         * Sets the subcontractor attribute.
230         * 
231         * @param subcontractor The subcontractor to set.
232         * @deprecated Setter is required by OJB, but should not be used to modify this attribute. This attribute is set on the initial
233         *             creation of the object and should not be changed.
234         */
235        @Deprecated
236        public void setSubcontractor(SubContractor subcontractor) {
237            this.subcontractor = subcontractor;
238        }
239    
240        /**
241         * @see org.kuali.rice.kns.bo.Inactivateable#setActive(boolean)
242         */
243        public void setActive(boolean active) {
244            this.active = active;
245        }
246    
247        /**
248         * @see org.kuali.rice.kns.bo.Inactivateable#isActive()
249         */
250        public boolean isActive() {
251            return active;
252        }
253    
254        /**
255         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
256         */
257        @SuppressWarnings("unchecked")
258        @Override
259        protected LinkedHashMap toStringMapper() {
260            LinkedHashMap m = new LinkedHashMap();
261            m.put("awardSubcontractorAmendmentNumber", this.awardSubcontractorAmendmentNumber);
262            m.put("awardSubcontractorNumber", this.awardSubcontractorNumber);
263            m.put("subcontractorNumber", this.subcontractorNumber);
264            if (this.proposalNumber != null) {
265                m.put("proposalNumber", this.proposalNumber.toString());
266            }
267            return m;
268        }
269    
270    }