jdk/src/share/classes/javax/print/attribute/standard/ReferenceUriSchemesSupported.java
changeset 2 90ce3da70b43
child 537 43192316f353
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/javax/print/attribute/standard/ReferenceUriSchemesSupported.java	Sat Dec 01 00:00:00 2007 +0000
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2000-2004 Sun Microsystems, Inc.  All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.Attribute;
+
+/**
+ * Class ReferenceUriSchemesSupported is a printing attribute class
+ * an enumeration, that indicates a "URI scheme," such as "http:" or "ftp:",
+ * that a printer can use to retrieve print data stored at a URI location.
+ * If a printer supports doc flavors with a print data representation class of
+ * <CODE>"java.net.URL"</CODE>, the printer uses instances of class
+ * ReferenceUriSchemesSupported to advertise the URI schemes it can accept.
+ * The acceptable URI schemes are included as service attributes in the
+ * lookup service; this lets clients search the
+ * for printers that can get print data using a certain URI scheme. The
+ * acceptable URI schemes can also be queried using the capability methods in
+ * interface <code>PrintService</code>. However,
+ * ReferenceUriSchemesSupported attributes are used solely for determining
+ * acceptable URI schemes, they are never included in a doc's,
+ * print request's, print job's, or print service's attribute set.
+ * <P>
+ * The Internet Assigned Numbers Authority maintains the
+ * <A HREF="http://www.isi.edu/in-notes/iana/assignments/url-schemes">official
+ * list of URI schemes</A>.
+ * <p>
+ * Class ReferenceUriSchemesSupported defines enumeration values for widely
+ * used URI schemes. A printer that supports additional URI schemes
+ * can define them in a subclass of class ReferenceUriSchemesSupported.
+ * <P>
+ * <B>IPP Compatibility:</B>  The category name returned by
+ * <CODE>getName()</CODE> is the IPP attribute name.  The enumeration's
+ * integer value is the IPP enum value.  The <code>toString()</code> method
+ * returns the IPP string representation of the attribute value.
+ * <P>
+ *
+ * @author  Alan Kaminsky
+ */
+public class ReferenceUriSchemesSupported
+    extends EnumSyntax implements Attribute {
+
+    private static final long serialVersionUID = -8989076942813442805L;
+
+    /**
+     * File Transfer Protocol (FTP).
+     */
+    public static final ReferenceUriSchemesSupported FTP =
+        new ReferenceUriSchemesSupported(0);
+
+    /**
+     * HyperText Transfer Protocol (HTTP).
+     */
+    public static final ReferenceUriSchemesSupported HTTP = new ReferenceUriSchemesSupported(1);
+
+    /**
+     * Secure HyperText Transfer Protocol (HTTPS).
+     */
+    public static final ReferenceUriSchemesSupported HTTPS = new ReferenceUriSchemesSupported(2);
+
+    /**
+     * Gopher Protocol.
+     */
+    public static final ReferenceUriSchemesSupported GOPHER = new ReferenceUriSchemesSupported(3);
+
+    /**
+     * USENET news.
+     */
+    public static final ReferenceUriSchemesSupported NEWS = new ReferenceUriSchemesSupported(4);
+
+    /**
+     * USENET news using Network News Transfer Protocol (NNTP).
+     */
+    public static final ReferenceUriSchemesSupported NNTP = new ReferenceUriSchemesSupported(5);
+
+    /**
+     * Wide Area Information Server (WAIS) protocol.
+     */
+    public static final ReferenceUriSchemesSupported WAIS = new ReferenceUriSchemesSupported(6);
+
+    /**
+     * Host-specific file names.
+     */
+    public static final ReferenceUriSchemesSupported FILE = new ReferenceUriSchemesSupported(7);
+
+    /**
+     * Construct a new reference URI scheme enumeration value with the given
+     * integer value.
+     *
+     * @param  value  Integer value.
+     */
+    protected ReferenceUriSchemesSupported(int value) {
+        super (value);
+    }
+
+    private static final String[] myStringTable = {
+        "ftp",
+        "http",
+        "https",
+        "gopher",
+        "news",
+        "nntp",
+        "wais",
+        "file",
+    };
+
+    private static final ReferenceUriSchemesSupported[] myEnumValueTable = {
+        FTP,
+        HTTP,
+        HTTPS,
+        GOPHER,
+        NEWS,
+        NNTP,
+        WAIS,
+        FILE,
+    };
+
+    /**
+     * Returns the string table for class ReferenceUriSchemesSupported.
+     */
+    protected String[] getStringTable() {
+        return (String[])myStringTable.clone();
+    }
+
+    /**
+     * Returns the enumeration value table for class
+     * ReferenceUriSchemesSupported.
+     */
+    protected EnumSyntax[] getEnumValueTable() {
+        return (EnumSyntax[])myEnumValueTable.clone();
+    }
+
+    /**
+     * Get the printing attribute class which is to be used as the "category"
+     * for this printing attribute value.
+     * <P>
+     * For class ReferenceUriSchemesSupported and any vendor-defined
+     * subclasses, the category is class ReferenceUriSchemesSupported itself.
+     *
+     * @return  Printing attribute class (category), an instance of class
+     *          {@link java.lang.Class java.lang.Class}.
+     */
+    public final Class<? extends Attribute> getCategory() {
+        return ReferenceUriSchemesSupported.class;
+    }
+
+    /**
+     * Get the name of the category of which this attribute value is an
+     * instance.
+     * <P>
+     * For class ReferenceUriSchemesSupported and any vendor-defined
+     * subclasses, the category name is
+     * <CODE>"reference-uri-schemes-supported"</CODE>.
+     *
+     * @return  Attribute category name.
+     */
+    public final String getName() {
+        return "reference-uri-schemes-supported";
+    }
+
+}