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.ar.report.util;
017
018 import java.util.ArrayList;
019 import java.util.HashMap;
020 import java.util.List;
021 import java.util.Map;
022
023 import org.kuali.kfs.module.ar.businessobject.CustomerCreditMemoDetail;
024
025 /**
026 * To group and hold the data presented to working reports of extract process
027 */
028 public class CustomerCreditMemoReportDataHolder {
029 // private CustomerCreditMemoReportDefinition reportDefinition;
030 private Map<String, String> creditmemo;
031 private Map<String, String> invoice;
032 private Map<String, String> customer;
033 private Map<String, String> sysinfo;
034 private List<CustomerCreditMemoDetailReportDataHolder> details;
035
036 private Map<String, Object> reportData;
037
038 public final static String KEY_OF_CREDITMEMO_ENTRY = "creditMemo";
039 public final static String KEY_OF_INVOICE_ENTRY = "invoice";
040 public final static String KEY_OF_CUSTOMER_ENTRY = "customer";
041 public final static String KEY_OF_SYSINFO_ENTRY = "sysinfo";
042 public final static String KEY_OF_DETAILS_ENTRY = "details";
043
044 /**
045 * Constructs a ExtractProcessReportDataHolder.java.
046 */
047 public CustomerCreditMemoReportDataHolder() {
048 //this(null);
049
050 this.creditmemo = new HashMap<String, String>();
051 this.invoice = new HashMap<String, String>();
052 this.customer = new HashMap<String, String>();
053 this.sysinfo = new HashMap<String, String>();
054 this.details = new ArrayList<CustomerCreditMemoDetailReportDataHolder>();
055
056 this.reportData = new HashMap<String, Object>();
057 }
058
059 /**
060 * Constructs a ExtractProcessReportDataHolder.java.
061 *
062 * @param reportDefinition
063 */
064 // public CustomerCreditMemoReportDataHolder(CustomerCreditMemoReportDefinition reportDefinition) {
065 // super();
066 // this.reportDefinition = reportDefinition;
067 // this.creditmemo = new HashMap<String, String>();
068 // this.invoice = new HashMap<String, String>();
069 // this.customer = new HashMap<String, String>();
070 // this.sysinfo = new HashMap<String, String>();
071 //
072 // this.reportData = new HashMap<String, Object>();
073 // }
074
075 /**
076 * Gets the creditmemo attribute.
077 * @return Returns the creditmemo.
078 */
079 public Map<String, String> getCreditmemo() {
080 return creditmemo;
081 }
082
083 /**
084 * Sets the creditmemo attribute value.
085 * @param creditmemo The creditmemo to set.
086 */
087 public void setCreditmemo(Map<String, String> creditmemo) {
088 this.creditmemo = creditmemo;
089 }
090
091 /**
092 * Gets the invoice attribute.
093 * @return Returns the invoice.
094 */
095 public Map<String, String> getInvoice() {
096 return invoice;
097 }
098
099 /**
100 * Sets the invoice attribute value.
101 * @param invoice The invoice to set.
102 */
103 public void setInvoice(Map<String, String> invoice) {
104 this.invoice = invoice;
105 }
106
107 /**
108 * Gets the customer attribute.
109 * @return Returns the customer.
110 */
111 public Map<String, String> getCustomer() {
112 return customer;
113 }
114
115 /**
116 * Sets the customer attribute value.
117 * @param customer The customer to set.
118 */
119 public void setCustomer(Map<String, String> customer) {
120 this.customer = customer;
121 }
122
123 /**
124 * Gets the sysinfo attribute.
125 * @return Returns the sysinfo.
126 */
127 public Map<String, String> getSysinfo() {
128 return sysinfo;
129 }
130
131 /**
132 * Sets the sysinfo attribute value.
133 * @param sysinfo The sysinfo to set.
134 */
135 public void setSysinfo(Map<String, String> sysinfo) {
136 this.sysinfo = sysinfo;
137 }
138
139
140 /**
141 * Gets the details attribute.
142 * @return Returns the details.
143 */
144 public List<CustomerCreditMemoDetailReportDataHolder> getDetails() {
145 return details;
146 }
147
148 /**
149 * Sets the details attribute value.
150 * @param details The details to set.
151 */
152 public void setDetails(List<CustomerCreditMemoDetailReportDataHolder> details) {
153 this.details = details;
154 }
155
156 /**
157 * Gets the reportData attribute.
158 * @return Returns the reportData.
159 */
160 public Map<String, Object> getReportData() {
161
162 reportData.put(KEY_OF_CREDITMEMO_ENTRY, creditmemo);
163 reportData.put(KEY_OF_INVOICE_ENTRY, invoice);
164 reportData.put(KEY_OF_CUSTOMER_ENTRY, customer);
165 reportData.put(KEY_OF_SYSINFO_ENTRY, sysinfo);
166 reportData.put(KEY_OF_DETAILS_ENTRY, details);
167 // reportData.put(arg0, arg1);
168
169 return reportData;
170 }
171
172
173 /**
174 * Sets the reportData attribute value.
175 * @param reportData The reportData to set.
176 */
177 public void setReportData(Map<String, Object> reportData) {
178 this.reportData = reportData;
179 }
180
181 /**
182 * @see java.lang.Object#toString()
183 */
184 @Override
185 public String toString() {
186 return this.getReportData().toString();
187 }
188 }