package com.fr.plugin.event.manager; import com.fr.base.Parameter; import com.fr.base.TableData; import com.fr.form.ui.Widget; import com.fr.io.attr.ReportExportAttr; import com.fr.main.TemplateWorkBook; import com.fr.main.parameter.ReportParameterAttr; import com.fr.main.workbook.ResultWorkBook; import com.fr.report.fit.ReportFitAttr; import com.fr.report.mobile.ElementCaseMobileAttr; import com.fr.report.report.ECReport; import com.fr.report.report.Report; import com.fr.report.report.TemplateReport; import com.fr.report.stable.fun.Actor; import com.fr.report.worksheet.WorkSheet; import com.fr.stable.fun.IOFileAttrMark; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; import com.fr.web.attr.ReportWebAttr; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; /** * 装饰器模式 * @author Joe * Created by Joe on 9/24/2020 */ public class TemplateWorkBookDecorator implements TemplateWorkBook { protected TemplateWorkBook decoratedTemplateWorkBook; private List widgetList; public TemplateWorkBookDecorator(TemplateWorkBook templateWorkBook) { decoratedTemplateWorkBook = templateWorkBook; widgetList = new ArrayList<>(); } @Override public void addReport(TemplateReport templateReport) { decoratedTemplateWorkBook.addReport(templateReport); } @Override public void addReport(String s, TemplateReport templateReport) { decoratedTemplateWorkBook.addReport(s, templateReport); } @Override public void setReport(int i, TemplateReport templateReport) { decoratedTemplateWorkBook.setReport(i, templateReport); } @Override public void setReport(int i, String s, TemplateReport templateReport) { decoratedTemplateWorkBook.setReport(i, s, templateReport); } @Override public TemplateReport getTemplateReport(int i) { return decoratedTemplateWorkBook.getTemplateReport(i); } @Override public WorkSheet getTemplateElementCaseReport(int i) { return decoratedTemplateWorkBook.getTemplateElementCaseReport(i); } @Override public int getReportIndex(TemplateReport templateReport) { return decoratedTemplateWorkBook.getReportIndex(templateReport); } @Override public void apply4Parameters(Map map) { decoratedTemplateWorkBook.apply4Parameters(map); } @Override public ResultWorkBook execute(Map map, Actor actor) { return decoratedTemplateWorkBook.execute(map, actor); } @Override public ResultWorkBook execute(Map map, Actor actor, int i) { return decoratedTemplateWorkBook.execute(map, actor, i); } @Override public ReportParameterAttr getReportParameterAttr() { return decoratedTemplateWorkBook.getReportParameterAttr(); } @Override public void setReportParameterAttr(ReportParameterAttr reportParameterAttr) { decoratedTemplateWorkBook.setReportParameterAttr(reportParameterAttr); } @Override public Parameter[] getParameters() { return decoratedTemplateWorkBook.getParameters(); } @Override public String getReportName(int i) { return decoratedTemplateWorkBook.getReportName(i); } @Override public void setReportName(int i, String s) { decoratedTemplateWorkBook.setReportName(i, s); } @Override public void removeReport(String s) { decoratedTemplateWorkBook.removeReport(s); } @Override public void removeReport(int i) { decoratedTemplateWorkBook.removeReport(i); } @Override public void removeReports() { decoratedTemplateWorkBook.removeReports(); } @Override public Report getReport(int i) { return decoratedTemplateWorkBook.getReport(i); } @Override public boolean isElementCaseBook() { return decoratedTemplateWorkBook.isElementCaseBook(); } @Override public boolean isElementCaseBook(int i) { return decoratedTemplateWorkBook.isElementCaseBook(i); } @Override public ECReport getElementCaseReport(int i) { return decoratedTemplateWorkBook.getElementCaseReport(i); } @Override public int getReportCount() { return decoratedTemplateWorkBook.getReportCount(); } @Override public ReportWebAttr getReportWebAttr() { return decoratedTemplateWorkBook.getReportWebAttr(); } @Override public void setReportWebAttr(ReportWebAttr reportWebAttr) { decoratedTemplateWorkBook.setReportWebAttr(reportWebAttr); } @Override public ReportExportAttr getReportExportAttr() { return decoratedTemplateWorkBook.getReportExportAttr(); } @Override public void setReportExportAttr(ReportExportAttr reportExportAttr) { decoratedTemplateWorkBook.setReportExportAttr(reportExportAttr); } @Override public ElementCaseMobileAttr getReportMobileAttr() { return decoratedTemplateWorkBook.getReportMobileAttr(); } @Override public void setReportMobileAttr(ElementCaseMobileAttr elementCaseMobileAttr) { decoratedTemplateWorkBook.setReportMobileAttr(elementCaseMobileAttr); } @Override public void addAttrMark(IOFileAttrMark ioFileAttrMark) { decoratedTemplateWorkBook.addAttrMark(ioFileAttrMark); } @Override public T getAttrMark(String s) { return decoratedTemplateWorkBook.getAttrMark(s); } @Override public Iterator getAllMarkName() { return decoratedTemplateWorkBook.getAllMarkName(); } @Override public Iterator getTableDataNameIterator() { return decoratedTemplateWorkBook.getTableDataNameIterator(); } @Override public TableData getTableData(String s) { return decoratedTemplateWorkBook.getTableData(s); } @Override public void putTableData(String s, TableData tableData) { decoratedTemplateWorkBook.putTableData(s, tableData); } @Override public boolean renameTableData(String s, String s1) { return decoratedTemplateWorkBook.renameTableData(s, s1); } @Override public void removeTableData(String s) { decoratedTemplateWorkBook.removeTableData(s); } @Override public void clearAllTableData() { decoratedTemplateWorkBook.clearAllTableData(); } @Override public ReportFitAttr getReportFitAttr() { return decoratedTemplateWorkBook.getReportFitAttr(); } @Override public void setReportFitAttr(ReportFitAttr reportFitAttr) { decoratedTemplateWorkBook.setReportFitAttr(reportFitAttr); } @Override public void readXML(XMLableReader xmLableReader) { decoratedTemplateWorkBook.readXML(xmLableReader); } @Override public void writeXML(XMLPrintWriter xmlPrintWriter) { decoratedTemplateWorkBook.writeXML(xmlPrintWriter); } @Override public String[] getJSImport() { return decoratedTemplateWorkBook.getJSImport(); } @Override public String[] getCSSImport() { return decoratedTemplateWorkBook.getCSSImport(); } @Override public Object clone() throws CloneNotSupportedException { return decoratedTemplateWorkBook.clone(); } public List getWidgetList() { return widgetList; } public void addWidget(Widget widget) { this.widgetList.add(widget); } }