1 /* 2 * Kuali Coeus, a comprehensive research administration system for higher education. 3 * 4 * Copyright 2005-2015 Kuali, Inc. 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU Affero General Public License as 8 * published by the Free Software Foundation, either version 3 of the 9 * License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Affero General Public License for more details. 15 * 16 * You should have received a copy of the GNU Affero General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 package org.kuali.coeus.s2sgen.impl.print; 20 21 import java.util.List; 22 23 /** 24 * 25 * This class provides the API for KC Printing. It will take any KC 26 * <code>Printable</code> and return the printable PDF form of that Printable 27 * in an OutputStream which can be decorated how the implementing print consumer 28 * requires. 29 * 30 */ 31 public interface S2SPrintingService { 32 33 /** 34 * 35 * This method invokes the KC printable architecture for reports, 36 * notifications, docs and bos. It will take raw KC XML from bo/docs and 37 * perform the XSLT to generate XML-FO, and will render the Printable XML-FO 38 * as a PDF OutputStream. 39 */ 40 S2SFile print(S2SPrintable printableArtifact); 41 42 /** 43 * 44 * This method invokes the KC printable architecture for reports, 45 * notifications, docs and bos. It will take raw KC XML from bo/docs and 46 * perform the XSLT to generate XML-FO, and will render the {@link java.util.List} of 47 * Printable XML-FO as a PDF OutputStream. 48 */ 49 S2SFile print(List<S2SPrintable> printableArtifactList); 50 }