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