/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.module.ar.service; import java.util.List; import java.util.Map; import org.kuali.kfs.module.ar.businessobject.Bill; import org.kuali.kfs.module.ar.businessobject.CustomerAddress; import org.kuali.kfs.module.ar.businessobject.Milestone; import org.kuali.rice.core.api.util.type.KualiDecimal; /** * Defines utility methods used by CGB. */ public interface ContractsGrantsBillingUtilityService { /** * Returns a proper String Value. Also returns proper value for currency (USD) * * @param string * @return */ public String formatForCurrency(KualiDecimal amount); /** * Builds and resturns a full address string from a CustomerAddress * * @param address * @return */ public String buildFullAddress(CustomerAddress address); /** * Places a value into a Map, but if that value is null, it places an empty String into the Map instead * @param map the Map to place the key into * @param key the key * @param value the value */ public void putValueOrEmptyString(Map<String,String> map, String key, String value); /** * Retrieves all active bills associated with the given proposal number * @param proposalNumber the proposal number to lookup active bills for * @return a List of active bills, or an empty List of naught could be found */ public List<Bill> getActiveBillsForProposalNumber(Long proposalNumber); /** * Retrieves all active milestones associated with the given proposal number * @param proposalNumber the proposal number to retrieve milestones for * @return a List of active milestones, or an empty List if BusinessObjectService couldn't turn any up */ public List<Milestone> getActiveMilestonesForProposalNumber(Long proposalNumber); }