1 /* 2 * Copyright (c) 2000, 2017, 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 26 package javax.print; 27 28 import java.net.URI; 29 30 /** 31 * Interface {@code URIException} is a mixin interface which a subclass of 32 * {@link PrintException PrintException} can implement to report an error 33 * condition involving a {@code URI} address. The Print Service API does not 34 * define any print exception classes that implement interface 35 * {@code URIException}, that being left to the Print Service implementor's 36 * discretion. 37 */ 38 public interface URIException { 39 40 /** 41 * Indicates that the printer cannot access the {@code URI} address. For 42 * example, the printer might report this error if it goes to get the print 43 * data and cannot even establish a connection to the {@code URI} address. 44 */ 45 public static final int URIInaccessible = 1; 46 47 /** 48 * Indicates that the printer does not support the {@code URI} scheme 49 * ("http", "ftp", etc.) in the {@code URI} address. 50 */ 51 public static final int URISchemeNotSupported = 2; 52 53 /** 54 * Indicates any kind of problem not specifically identified by the other 55 * reasons. 56 */ 57 public static final int URIOtherProblem = -1; 58 59 /** 60 * Returns the {@code URI}. 61 * 62 * @return the {@code URI} that is the cause of this exception 63 */ 64 public URI getUnsupportedURI(); 65 66 /** 67 * Returns the reason of this exception. 68 * 69 * @return one of the predefined reasons enumerated in this interface 70 */ 71 public int getReason(); 72 }