View Javadoc
1   /*
2    * The Kuali Financial System, a comprehensive financial management system for higher education.
3    * 
4    * Copyright 2005-2014 The Kuali Foundation
5    * 
6    * This program is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Affero General Public License as
8    * published by the Free Software Foundation, either version 3 of the
9    * License, or (at your option) any later version.
10   * 
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Affero General Public License for more details.
15   * 
16   * You should have received a copy of the GNU Affero General Public License
17   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  
20  package org.kuali.kfs.module.cg.businessobject;
21  
22  import java.util.LinkedHashMap;
23  
24  import org.kuali.kfs.sys.KFSPropertyConstants;
25  import org.kuali.rice.core.api.mo.common.active.MutableInactivatable;
26  import org.kuali.rice.core.api.util.type.KualiDecimal;
27  import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
28  import org.kuali.rice.krad.util.ObjectUtils;
29  
30  /**
31   *
32   */
33  public class ProposalSubcontractor extends PersistableBusinessObjectBase implements MutableInactivatable {
34      private String proposalSubcontractorNumber;
35      private Long proposalNumber;
36      private String subcontractorNumber;
37      private KualiDecimal proposalSubcontractorAmount;
38      private String proposalSubcontractorDescription;
39      private boolean active = true;
40  
41      private SubContractor subcontractor;
42  
43      /**
44       * Gets the proposalSubcontractorNumber attribute.
45       *
46       * @return Returns the proposalSubcontractorNumber
47       */
48      public String getProposalSubcontractorNumber() {
49          return proposalSubcontractorNumber;
50      }
51  
52      /**
53       * Sets the proposalSubcontractorNumber attribute.
54       *
55       * @param proposalSubcontractorNumber The proposalSubcontractorNumber to set.
56       */
57      public void setProposalSubcontractorNumber(String proposalSubcontractorNumber) {
58          this.proposalSubcontractorNumber = proposalSubcontractorNumber;
59      }
60  
61  
62      /**
63       * Gets the proposalNumber attribute.
64       *
65       * @return Returns the proposalNumber
66       */
67      public Long getProposalNumber() {
68          return proposalNumber;
69      }
70  
71      /**
72       * Sets the proposalNumber attribute.
73       *
74       * @param proposalNumber The proposalNumber to set.
75       */
76      public void setProposalNumber(Long proposalNumber) {
77          this.proposalNumber = proposalNumber;
78      }
79  
80  
81      /**
82       * Gets the subcontractorNumber attribute.
83       *
84       * @return Returns the subcontractorNumber
85       */
86      public String getSubcontractorNumber() {
87          return subcontractorNumber;
88      }
89  
90      /**
91       * Sets the subcontractorNumber attribute.
92       *
93       * @param subcontractorNumber The subcontractorNumber to set.
94       */
95      public void setSubcontractorNumber(String subcontractorNumber) {
96          this.subcontractorNumber = subcontractorNumber;
97      }
98  
99  
100     /**
101      * Gets the proposalSubcontractorAmount attribute.
102      *
103      * @return Returns the proposalSubcontractorAmount
104      */
105     public KualiDecimal getProposalSubcontractorAmount() {
106         return proposalSubcontractorAmount;
107     }
108 
109     /**
110      * Sets the proposalSubcontractorAmount attribute.
111      *
112      * @param proposalSubcontractorAmount The proposalSubcontractorAmount to set.
113      */
114     public void setProposalSubcontractorAmount(KualiDecimal proposalSubcontractorAmount) {
115         this.proposalSubcontractorAmount = proposalSubcontractorAmount;
116     }
117 
118     /**
119      * Gets the proposalSubcontractorDescription attribute.
120      *
121      * @return Returns the proposalSubcontractorDescription.
122      */
123     public String getProposalSubcontractorDescription() {
124         return proposalSubcontractorDescription;
125     }
126 
127     /**
128      * Sets the proposalSubcontractorDescription attribute value.
129      *
130      * @param proposalSubcontractorDescription The proposalSubcontractorDescription to set.
131      */
132     public void setProposalSubcontractorDescription(String proposalSubcontractorDescription) {
133         this.proposalSubcontractorDescription = proposalSubcontractorDescription;
134     }
135 
136     /**
137      * Gets the active attribute.
138      *
139      * @return Returns the active.
140      */
141     @Override
142     public boolean isActive() {
143         return active;
144     }
145 
146     /**
147      * Sets the active attribute value.
148      *
149      * @param active The active to set.
150      */
151     @Override
152     public void setActive(boolean active) {
153         this.active = active;
154     }
155 
156     /**
157      * @return Returns the subcontractor.
158      */
159     public SubContractor getSubcontractor() {
160         return subcontractor;
161     }
162 
163     /**
164      * @param subcontractor The subcontractor to set.
165      * @deprecated
166      */
167     @Deprecated
168     public void setSubcontractor(SubContractor subcontractor) {
169         this.subcontractor = subcontractor;
170     }
171 
172     /**
173      * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper()
174      */
175     protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
176         LinkedHashMap m = new LinkedHashMap();
177         m.put("proposalSubcontractorNumber", this.proposalSubcontractorNumber);
178         if (this.proposalNumber != null) {
179             m.put(KFSPropertyConstants.PROPOSAL_NUMBER, this.proposalNumber.toString());
180         }
181         m.put("subcontractorNumber", this.subcontractorNumber);
182         return m;
183     }
184 
185     /**
186      * This can be displayed by Proposal.xml lookup results.
187      *
188      * @see Object#toString()
189      */
190     @Override
191     public String toString() {
192         // todo: get "nonexistent" from ApplicationResources.properties via KFSKeyConstants?
193         String name = ObjectUtils.isNull(getSubcontractor()) ? "nonexistent" : getSubcontractor().getSubcontractorName();
194         String description = getProposalSubcontractorDescription() == null ? "" : " " + getProposalSubcontractorDescription();
195         return name + " " + getProposalSubcontractorAmount() + description;
196     }
197 }