View Javadoc
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  }