001
014
015 package com.liferay.portal.kernel.bi.reporting;
016
017 import java.util.Map;
018 import java.util.concurrent.ConcurrentHashMap;
019
020
023 public class ReportFormatExporterRegistry {
024
025 public ReportFormatExporter getExporter(ReportFormat reportFormat) {
026 ReportFormatExporter reportFormatExporter = _reportFormatExporters.get(
027 reportFormat);
028
029 if (reportFormatExporter == null) {
030 throw new IllegalArgumentException(
031 "No exporter found for format " + reportFormat);
032 }
033
034 return reportFormatExporter;
035 }
036
037 public void setExporters(
038 Map<String, ReportFormatExporter> reportFormatExporters) {
039
040 for (Map.Entry<String, ReportFormatExporter> entry :
041 reportFormatExporters.entrySet()) {
042
043 ReportFormat reportFormat = ReportFormat.parse(entry.getKey());
044 ReportFormatExporter reportFormatExporter = entry.getValue();
045
046 _reportFormatExporters.put(reportFormat, reportFormatExporter);
047 }
048 }
049
050 private Map<ReportFormat, ReportFormatExporter> _reportFormatExporters =
051 new ConcurrentHashMap<ReportFormat, ReportFormatExporter>();
052
053 }