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.endow.businessobject;
017    
018    import java.util.LinkedHashMap;
019    
020    import org.apache.commons.lang.StringUtils;
021    import org.kuali.kfs.module.endow.EndowPropertyConstants;
022    import org.kuali.kfs.sys.KFSConstants;
023    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
024    
025    public abstract class EndowmentCode extends PersistableBusinessObjectBase {
026        
027        private String code;
028        private String description;
029        
030        /**
031         * Gets the code attribute. 
032         * @return Returns the code.
033         */
034        public String getCode() {
035            return code;
036        }
037    
038        /**
039         * Sets the code attribute value.
040         * @param code The code to set.
041         */
042        public void setCode(String code) {
043            this.code = code;
044        }
045    
046        /**
047         * Gets the description attribute. 
048         * @return Returns the description.
049         */
050        public String getDescription() {
051            return description;
052        }
053    
054        /**
055         * Sets the description attribute value.
056         * @param description The description to set.
057         */
058        public void setDescription(String description) {
059            this.description = description;
060        }
061    
062        /**
063         * Gets the code and description 
064         * @return Returns code + " - " + description  
065         */
066        public String getCodeAndDescription() {
067            if (StringUtils.isEmpty(code)) {
068                return KFSConstants.EMPTY_STRING;
069            }
070            return code + " - " + description;
071        }
072        
073        /**
074         * Sets the codeAndDescription attribute value.
075         * @param set codeAndDescription 
076         */
077        public void setCodeAndDescription(String codeAndDescription) {}
078    
079        /**
080         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
081         */
082        @Override
083        protected LinkedHashMap<String, String> toStringMapper() {
084            LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
085            m.put(EndowPropertyConstants.ENDOWCODEBASE_CODE, this.code);
086            return m;
087        }
088    
089    }