1/* 2 * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26package sun.print; 27 28import java.io.OutputStream; 29 30import javax.print.DocFlavor; 31import javax.print.StreamPrintService; 32import javax.print.StreamPrintServiceFactory; 33 34public class PSStreamPrinterFactory extends StreamPrintServiceFactory { 35 36 static final String psMimeType = "application/postscript"; 37 38 static final DocFlavor[] supportedDocFlavors = { 39 DocFlavor.SERVICE_FORMATTED.PAGEABLE, 40 DocFlavor.SERVICE_FORMATTED.PRINTABLE, 41 DocFlavor.BYTE_ARRAY.GIF, 42 DocFlavor.INPUT_STREAM.GIF, 43 DocFlavor.URL.GIF, 44 DocFlavor.BYTE_ARRAY.JPEG, 45 DocFlavor.INPUT_STREAM.JPEG, 46 DocFlavor.URL.JPEG, 47 DocFlavor.BYTE_ARRAY.PNG, 48 DocFlavor.INPUT_STREAM.PNG, 49 DocFlavor.URL.PNG, 50 }; 51 52 public String getOutputFormat() { 53 return psMimeType; 54 } 55 56 public DocFlavor[] getSupportedDocFlavors() { 57 return getFlavors(); 58 } 59 60 static DocFlavor[] getFlavors() { 61 DocFlavor[] flavors = new DocFlavor[supportedDocFlavors.length]; 62 System.arraycopy(supportedDocFlavors, 0, flavors, 0, flavors.length); 63 return flavors; 64 } 65 66 public StreamPrintService getPrintService(OutputStream out) { 67 return new PSStreamPrintService(out); 68 } 69 70} 71