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 }