001 /*
002 * Copyright 2001-2004 Sun Microsystems, Inc. All Rights Reserved.
003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004 *
005 * This code is free software; you can redistribute it and/or modify it
006 * under the terms of the GNU General Public License version 2 only, as
007 * published by the Free Software Foundation. Sun designates this
008 * particular file as subject to the "Classpath" exception as provided
009 * by Sun in the LICENSE file that accompanied this code.
010 *
011 * This code is distributed in the hope that it will be useful, but WITHOUT
012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014 * version 2 for more details (a copy is included in the LICENSE file that
015 * accompanied this code).
016 *
017 * You should have received a copy of the GNU General Public License version
018 * 2 along with this work; if not, write to the Free Software Foundation,
019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020 *
021 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022 * CA 95054 USA or visit www.sun.com if you need additional information or
023 * have any questions.
024 */
025 package javax.print.attribute.standard;
026
027 import java.net.URI;
028 import java.util.Locale;
029
030 import javax.print.attribute.Attribute;
031 import javax.print.attribute.URISyntax;
032 import javax.print.attribute.PrintServiceAttribute;
033
034 /**
035 * Class PrinterURI is a printing attribute class, a URI, that specifies the
036 * globally unique name of a printer. If it has such a name, an administrator
037 * determines a printer's URI and sets this attribute to that name.
038 * <P>
039 * <B>IPP Compatibility:</B> This implements the
040 * IPP printer-uri attribute. The string form returned by
041 * <CODE>toString()</CODE> gives the IPP printer-uri value.
042 * The category name returned by <CODE>getName()</CODE>
043 * gives the IPP attribute name.
044 * <P>
045 *
046 * @author Robert Herriot
047 */
048
049 public final class PrinterURI extends URISyntax implements
050 PrintServiceAttribute {
051
052 private static final long serialVersionUID = 7923912792485606497L;
053
054 /**
055 * Constructs a new PrinterURI attribute with the specified URI.
056 *
057 * @param uri URI of the printer
058 *
059 * @exception NullPointerException
060 * (unchecked exception) Thrown if <CODE>uri</CODE> is null.
061 */
062 public PrinterURI(URI uri) {
063 super (uri);
064 }
065
066 /**
067 * Returns whether this printer name attribute is equivalent to the passed
068 * in object. To be equivalent, all of the following conditions must be
069 * true:
070 * <OL TYPE=1>
071 * <LI>
072 * <CODE>object</CODE> is not null.
073 * <LI>
074 * <CODE>object</CODE> is an instance of class PrinterURI.
075 * <LI>
076 * This PrinterURI attribute's underlying URI and
077 * <CODE>object</CODE>'s underlying URI are equal.
078 * </OL>
079 *
080 * @param object Object to compare to.
081 *
082 * @return True if <CODE>object</CODE> is equivalent to this PrinterURI
083 * attribute, false otherwise.
084 */
085 public boolean equals(Object object) {
086 return (super .equals(object) && object instanceof PrinterURI);
087 }
088
089 /**
090 * Get the printing attribute class which is to be used as the "category"
091 * for this printing attribute value.
092 * <P>
093 * For class PrinterURI and any vendor-defined subclasses, the category is
094 * class PrinterURI itself.
095 *
096 * @return Printing attribute class (category), an instance of class
097 * {@link java.lang.Class java.lang.Class}.
098 */
099 public final Class<? extends Attribute> getCategory() {
100 return PrinterURI.class;
101 }
102
103 /**
104 * Get the name of the category of which this attribute value is an
105 * instance.
106 * <P>
107 * For class PrinterURI and any vendor-defined subclasses, the category
108 * name is <CODE>"printer-uri"</CODE>.
109 *
110 * @return Attribute category name.
111 */
112 public final String getName() {
113 return "printer-uri";
114 }
115
116 }
|