aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/print
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/print')
-rw-r--r--libjava/classpath/javax/print/AttributeException.java63
-rw-r--r--libjava/classpath/javax/print/CancelablePrintJob.java52
-rw-r--r--libjava/classpath/javax/print/Doc.java95
-rw-r--r--libjava/classpath/javax/print/DocFlavor.java322
-rw-r--r--libjava/classpath/javax/print/DocPrintJob.java104
-rw-r--r--libjava/classpath/javax/print/FlavorException.java52
-rw-r--r--libjava/classpath/javax/print/MultiDoc.java66
-rw-r--r--libjava/classpath/javax/print/MultiDocPrintJob.java60
-rw-r--r--libjava/classpath/javax/print/MultiDocPrintService.java53
-rw-r--r--libjava/classpath/javax/print/PrintException.java84
-rw-r--r--libjava/classpath/javax/print/PrintService.java226
-rw-r--r--libjava/classpath/javax/print/PrintServiceLookup.java76
-rw-r--r--libjava/classpath/javax/print/ServiceUIFactory.java89
-rw-r--r--libjava/classpath/javax/print/StreamPrintService.java97
-rw-r--r--libjava/classpath/javax/print/URIException.java65
-rw-r--r--libjava/classpath/javax/print/attribute/Attribute.java50
-rw-r--r--libjava/classpath/javax/print/attribute/AttributeSet.java77
-rw-r--r--libjava/classpath/javax/print/attribute/AttributeSetUtilities.java450
-rw-r--r--libjava/classpath/javax/print/attribute/DateTimeSyntax.java101
-rw-r--r--libjava/classpath/javax/print/attribute/DocAttribute.java45
-rw-r--r--libjava/classpath/javax/print/attribute/DocAttributeSet.java55
-rw-r--r--libjava/classpath/javax/print/attribute/EnumSyntax.java146
-rw-r--r--libjava/classpath/javax/print/attribute/HashAttributeSet.java366
-rw-r--r--libjava/classpath/javax/print/attribute/HashDocAttributeSet.java94
-rw-r--r--libjava/classpath/javax/print/attribute/HashPrintJobAttributeSet.java94
-rw-r--r--libjava/classpath/javax/print/attribute/HashPrintRequestAttributeSet.java94
-rw-r--r--libjava/classpath/javax/print/attribute/HashPrintServiceAttributeSet.java94
-rw-r--r--libjava/classpath/javax/print/attribute/IntegerSyntax.java122
-rw-r--r--libjava/classpath/javax/print/attribute/PrintJobAttribute.java45
-rw-r--r--libjava/classpath/javax/print/attribute/PrintJobAttributeSet.java55
-rw-r--r--libjava/classpath/javax/print/attribute/PrintRequestAttribute.java45
-rw-r--r--libjava/classpath/javax/print/attribute/PrintRequestAttributeSet.java55
-rw-r--r--libjava/classpath/javax/print/attribute/PrintServiceAttribute.java45
-rw-r--r--libjava/classpath/javax/print/attribute/PrintServiceAttributeSet.java55
-rw-r--r--libjava/classpath/javax/print/attribute/ResolutionSyntax.java218
-rw-r--r--libjava/classpath/javax/print/attribute/SetOfIntegerSyntax.java253
-rw-r--r--libjava/classpath/javax/print/attribute/Size2DSyntax.java225
-rw-r--r--libjava/classpath/javax/print/attribute/SupportedValuesAttribute.java45
-rw-r--r--libjava/classpath/javax/print/attribute/TextSyntax.java126
-rw-r--r--libjava/classpath/javax/print/attribute/URISyntax.java112
-rw-r--r--libjava/classpath/javax/print/attribute/UnmodifiableSetException.java65
-rw-r--r--libjava/classpath/javax/print/attribute/package.html46
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Chromaticity.java86
-rw-r--r--libjava/classpath/javax/print/attribute/standard/ColorSupported.java84
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Compression.java86
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Copies.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/CopiesSupported.java87
-rw-r--r--libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Destination.java82
-rw-r--r--libjava/classpath/javax/print/attribute/standard/DocumentName.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Fidelity.java85
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Finishings.java102
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobImpressions.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java79
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobKOctets.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java79
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java79
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobName.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobPriority.java102
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobSheets.java83
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobState.java88
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobStateReason.java109
-rw-r--r--libjava/classpath/javax/print/attribute/standard/JobStateReasons.java72
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Media.java81
-rw-r--r--libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java146
-rw-r--r--libjava/classpath/javax/print/attribute/standard/MediaSize.java114
-rw-r--r--libjava/classpath/javax/print/attribute/standard/MediaSizeName.java135
-rw-r--r--libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java89
-rw-r--r--libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/NumberUp.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java95
-rw-r--r--libjava/classpath/javax/print/attribute/standard/OrientationRequested.java90
-rw-r--r--libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java84
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PageRanges.java97
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PresentationDirection.java97
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrintQuality.java85
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterInfo.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java84
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterLocation.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java81
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java81
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterName.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterResolution.java82
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterState.java84
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java140
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java72
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PrinterURI.java81
-rw-r--r--libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java100
-rw-r--r--libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java96
-rw-r--r--libjava/classpath/javax/print/attribute/standard/RequestingUserName.java101
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Severity.java83
-rw-r--r--libjava/classpath/javax/print/attribute/standard/SheetCollate.java81
-rw-r--r--libjava/classpath/javax/print/attribute/standard/Sides.java89
-rw-r--r--libjava/classpath/javax/print/attribute/standard/package.html47
-rw-r--r--libjava/classpath/javax/print/event/PrintEvent.java67
-rw-r--r--libjava/classpath/javax/print/event/PrintJobAdapter.java117
-rw-r--r--libjava/classpath/javax/print/event/PrintJobAttributeEvent.java85
-rw-r--r--libjava/classpath/javax/print/event/PrintJobAttributeListener.java52
-rw-r--r--libjava/classpath/javax/print/event/PrintJobEvent.java90
-rw-r--r--libjava/classpath/javax/print/event/PrintJobListener.java87
-rw-r--r--libjava/classpath/javax/print/event/PrintServiceAttributeEvent.java83
-rw-r--r--libjava/classpath/javax/print/event/PrintServiceAttributeListener.java52
-rw-r--r--libjava/classpath/javax/print/event/package.html46
-rw-r--r--libjava/classpath/javax/print/package.html46
120 files changed, 11838 insertions, 0 deletions
diff --git a/libjava/classpath/javax/print/AttributeException.java b/libjava/classpath/javax/print/AttributeException.java
new file mode 100644
index 0000000..d22c5bf
--- /dev/null
+++ b/libjava/classpath/javax/print/AttributeException.java
@@ -0,0 +1,63 @@
+/* CancelablePrintJob.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import javax.print.attribute.Attribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface AttributeException
+{
+ /**
+ * Returns the unsupported printing attribute classes for a print service
+ * that does not support them.
+ *
+ * @return array of unsupported attribute classes, or null
+ */
+ Class[] getUnsupportedAttributes();
+
+ /**
+ * Returns the unsupported values of printing attributes for a print service
+ * that does not support them.
+ *
+ * @return array of unsupperted attribute values, or null
+ */
+ Attribute[] getUnsupportedValues();
+}
diff --git a/libjava/classpath/javax/print/CancelablePrintJob.java b/libjava/classpath/javax/print/CancelablePrintJob.java
new file mode 100644
index 0000000..94e9475
--- /dev/null
+++ b/libjava/classpath/javax/print/CancelablePrintJob.java
@@ -0,0 +1,52 @@
+/* CancelablePrintJob.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface CancelablePrintJob extends DocPrintJob
+{
+ /**
+ * Cancel print job.
+ *
+ * @exception PrintException if an error occured
+ */
+ void cancel() throws PrintException;
+}
diff --git a/libjava/classpath/javax/print/Doc.java b/libjava/classpath/javax/print/Doc.java
new file mode 100644
index 0000000..00e9dc9
--- /dev/null
+++ b/libjava/classpath/javax/print/Doc.java
@@ -0,0 +1,95 @@
+/* Doc.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+
+import javax.print.attribute.DocAttributeSet;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface Doc
+{
+ /**
+ * Returns a set of attributes applying to this document.
+ *
+ * @return the attributes
+ */
+ DocAttributeSet getAttributes();
+
+ /**
+ * Returns the flavor in which this document will provide its print data.
+ *
+ * @return the document flavor for printing
+ */
+ DocFlavor getDocFlavor();
+
+ /**
+ * Returns the print data of this document represented in a format that supports
+ * the document flavor.
+ *
+ * @return the print data
+ *
+ * @throws IOException if an error occurs
+ */
+ Object getPrintData() throws IOException;
+
+ /**
+ * Returns a <code>Reader</code> object for extracting character print data
+ * from this document.
+ *
+ * @return the <code>Reader</code> object
+ *
+ * @throws IOException if an error occurs
+ */
+ Reader getReaderForText() throws IOException;
+
+ /**
+ * Returns an <code>InputStream</code> object for extracting byte print data
+ * from this document.
+ *
+ * @return the <code>InputStream</code> object
+ *
+ * @throws IOException if an error occurs
+ */
+ InputStream getStreamForBytes() throws IOException;
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/DocFlavor.java b/libjava/classpath/javax/print/DocFlavor.java
new file mode 100644
index 0000000..732823f
--- /dev/null
+++ b/libjava/classpath/javax/print/DocFlavor.java
@@ -0,0 +1,322 @@
+/* DocFlavor.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class DocFlavor implements Cloneable, Serializable
+{
+ /**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+ public static class BYTE_ARRAY
+ extends DocFlavor
+ {
+ public static final BYTE_ARRAY AUTOSENSE = new BYTE_ARRAY("application/octet-stream");
+ public static final BYTE_ARRAY GIF = new BYTE_ARRAY("image/gif");
+ public static final BYTE_ARRAY JPEG = new BYTE_ARRAY("image/jpeg");
+ public static final BYTE_ARRAY PCL = new BYTE_ARRAY("application/vnd.hp-PCL");
+ public static final BYTE_ARRAY PDF = new BYTE_ARRAY("application/pdf");
+ public static final BYTE_ARRAY PNG = new BYTE_ARRAY("image/png");
+ public static final BYTE_ARRAY POSTSCRIPT = new BYTE_ARRAY("application/postscript");
+ public static final BYTE_ARRAY TEXT_HTML_HOST = new BYTE_ARRAY("text/html");
+ public static final BYTE_ARRAY TEXT_HTML_US_ASCII = new BYTE_ARRAY("text/html; charset=us-ascii");
+ public static final BYTE_ARRAY TEXT_HTML_UTF_16 = new BYTE_ARRAY("text/html; charset=utf-16");
+ public static final BYTE_ARRAY TEXT_HTML_UTF_16BE = new BYTE_ARRAY("text/html; charset=utf-16be");
+ public static final BYTE_ARRAY TEXT_HTML_UTF_16LE = new BYTE_ARRAY("text/html; charset=utf-16le");
+ public static final BYTE_ARRAY TEXT_HTML_UTF_8 = new BYTE_ARRAY("text/html; charset=utf-8");
+ public static final BYTE_ARRAY TEXT_PLAIN_HOST = new BYTE_ARRAY("text/plain");
+ public static final BYTE_ARRAY TEXT_PLAIN_US_ASCII = new BYTE_ARRAY("text/plain; charset=us-ascii");
+ public static final BYTE_ARRAY TEXT_PLAIN_UTF_16 = new BYTE_ARRAY("text/plain; charset=utf-16");
+ public static final BYTE_ARRAY TEXT_PLAIN_UTF_16BE = new BYTE_ARRAY("text/plain; charset=utf-16be");
+ public static final BYTE_ARRAY TEXT_PLAIN_UTF_16LE = new BYTE_ARRAY("text/plain; charset=utf-16le");
+ public static final BYTE_ARRAY TEXT_PLAIN_UTF_8 = new BYTE_ARRAY("text/plain; charset=utf-8");
+
+ public BYTE_ARRAY(String mimeType)
+ {
+ super(mimeType, "[B");
+ }
+ }
+
+ /**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+ public static class CHAR_ARRAY
+ extends DocFlavor
+ {
+ private static final long serialVersionUID = -8720590903724405128L;
+
+ public static final DocFlavor.CHAR_ARRAY TEXT_HTML = new CHAR_ARRAY("text/html; charset=utf-16");
+ public static final DocFlavor.CHAR_ARRAY TEXT_PLAIN = new CHAR_ARRAY("text/plain; charset=utf-16");
+
+ public CHAR_ARRAY(String mimeType)
+ {
+ super(mimeType, "[C");
+ }
+ }
+
+ /**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+ public static class INPUT_STREAM
+ extends DocFlavor
+ {
+ public static final INPUT_STREAM AUTOSENSE = new INPUT_STREAM("application/octet-stream");
+ public static final INPUT_STREAM GIF = new INPUT_STREAM("image/gif");
+ public static final INPUT_STREAM JPEG = new INPUT_STREAM("image/jpeg");
+ public static final INPUT_STREAM PCL = new INPUT_STREAM("application/vnd.hp-PCL");
+ public static final INPUT_STREAM PDF = new INPUT_STREAM("application/pdf");
+ public static final INPUT_STREAM PNG = new INPUT_STREAM("image/png");
+ public static final INPUT_STREAM POSTSCRIPT = new INPUT_STREAM("application/postscript");
+ public static final INPUT_STREAM TEXT_HTML_HOST = new INPUT_STREAM("text/html");
+ public static final INPUT_STREAM TEXT_HTML_US_ASCII = new INPUT_STREAM("text/html; charset=us-ascii");
+ public static final INPUT_STREAM TEXT_HTML_UTF_16 = new INPUT_STREAM("text/html; charset=utf-16");
+ public static final INPUT_STREAM TEXT_HTML_UTF_16BE = new INPUT_STREAM("text/html; charset=utf-16be");
+ public static final INPUT_STREAM TEXT_HTML_UTF_16LE = new INPUT_STREAM("text/html; charset=utf-16le");
+ public static final INPUT_STREAM TEXT_HTML_UTF_8 = new INPUT_STREAM("text/html; charset=utf-8");
+ public static final INPUT_STREAM TEXT_PLAIN_HOST = new INPUT_STREAM("text/plain");
+ public static final INPUT_STREAM TEXT_PLAIN_US_ASCII = new INPUT_STREAM("text/plain; charset=us-ascii");
+ public static final INPUT_STREAM TEXT_PLAIN_UTF_16 = new INPUT_STREAM("text/plain; charset=utf-16");
+ public static final INPUT_STREAM TEXT_PLAIN_UTF_16BE = new INPUT_STREAM("text/plain; charset=utf-16be");
+ public static final INPUT_STREAM TEXT_PLAIN_UTF_16LE = new INPUT_STREAM("text/plain; charset=utf-16le");
+ public static final INPUT_STREAM TEXT_PLAIN_UTF_8 = new INPUT_STREAM("text/plain; charset=utf-8");
+
+ public INPUT_STREAM(String mimeType)
+ {
+ super(mimeType, "java.io.InputStream");
+ }
+ }
+
+ /**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+ public static class READER
+ extends DocFlavor
+ {
+ private static final long serialVersionUID = 7100295812579351567L;
+
+ public static final DocFlavor.READER TEXT_HTML = new READER("text/html; charset=utf-16");
+ public static final DocFlavor.READER TEXT_PLAIN = new READER("text/plain; charset=utf-16");
+
+ public READER(String mimeType)
+ {
+ super(mimeType, "java.io.Reader");
+ }
+ }
+
+ /**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+ public static class SERVICE_FORMATTED
+ extends DocFlavor
+ {
+ private static final long serialVersionUID = 6181337766266637256L;
+
+ public static final DocFlavor.SERVICE_FORMATTED PAGEABLE = new SERVICE_FORMATTED("java.awt.print.Pageable");
+ public static final DocFlavor.SERVICE_FORMATTED PRINTABLE = new SERVICE_FORMATTED("java.awt.print.Printable");
+ public static final DocFlavor.SERVICE_FORMATTED RENDERABLE_IMAGE = new SERVICE_FORMATTED("java.awt.image.renderable.RenderableImage");
+
+ public SERVICE_FORMATTED(String className)
+ {
+ super("application/x-java-jvm-local-objectref", className);
+ }
+ }
+
+ /**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+ public static class STRING
+ extends DocFlavor
+ {
+ private static final long serialVersionUID = 4414407504887034035L;
+
+ public static final DocFlavor.STRING TEXT_HTML = new STRING("text/html; charset=utf-16");
+ public static final DocFlavor.STRING TEXT_PLAIN = new STRING("text/plain; charset=utf-16");
+
+ public STRING(String mimeType)
+ {
+ super(mimeType, "java.lang.String");
+ }
+ }
+
+ /**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+ public static class URL
+ extends DocFlavor
+ {
+ private static final long serialVersionUID = 2936725788144902062L;
+
+ public static final DocFlavor.URL AUTOSENSE = new URL("application/octet-stream");
+ public static final DocFlavor.URL GIF = new URL("image/gif");
+ public static final DocFlavor.URL JPEG = new URL("image/jpeg");
+ public static final DocFlavor.URL PCL = new URL("application/vnd.hp-PCL");
+ public static final DocFlavor.URL PDF = new URL("application/pdf");
+ public static final DocFlavor.URL PNG = new URL("image/png");
+ public static final DocFlavor.URL POSTSCRIPT = new URL("application/postscript");
+ public static final DocFlavor.URL TEXT_HTML_HOST = new URL("text/html");
+ public static final DocFlavor.URL TEXT_HTML_US_ASCII = new URL("text/html; charset=us-ascii");
+ public static final DocFlavor.URL TEXT_HTML_UTF_16 = new URL("text/html; charset=utf-16");
+ public static final DocFlavor.URL TEXT_HTML_UTF_16BE = new URL("text/html; charset=utf-16be");
+ public static final DocFlavor.URL TEXT_HTML_UTF_16LE = new URL("text/html; charset=utf-16le");
+ public static final DocFlavor.URL TEXT_HTML_UTF_8 = new URL("text/html; charset=utf-8");
+ public static final DocFlavor.URL TEXT_PLAIN_HOST = new URL("text/plain");
+ public static final DocFlavor.URL TEXT_PLAIN_US_ASCII = new URL("text/plain; charset=us-ascii");
+ public static final DocFlavor.URL TEXT_PLAIN_UTF_16 = new URL("text/plain; charset=utf-16");
+ public static final DocFlavor.URL TEXT_PLAIN_UTF_16BE = new URL("text/plain; charset=utf-16be");
+ public static final DocFlavor.URL TEXT_PLAIN_UTF_16LE = new URL("text/plain; charset=utf-16le");
+ public static final DocFlavor.URL TEXT_PLAIN_UTF_8 = new URL("text/plain; charset=utf-8");
+
+ public URL(String mimeType)
+ {
+ super(mimeType, "java.net.URL");
+ }
+ }
+
+ private static final long serialVersionUID = -4512080796965449721L;
+
+ // FIXME: Get the host encoding from somewhere. Note that the new String is to make
+ // sure the field won't be a compile time constant.
+ public static final String hostEncoding = new String("US-ASCII");
+
+ private String mediaSubtype;
+ private String mediaType;
+ private String className;
+ private HashMap params = new HashMap();
+
+ public DocFlavor(String mimeType, String className)
+ {
+ if (mimeType == null || className == null)
+ throw new NullPointerException();
+
+ parseMimeType(mimeType);
+ this.className = className;
+ }
+
+ private void parseMimeType(String mimeType)
+ {
+ // FIXME: This method is know to be not completely correct, but it works for now.
+
+ int pos = mimeType.indexOf(';');
+
+ if (pos != -1)
+ {
+ String tmp = mimeType.substring(pos + 2);
+ mimeType = mimeType.substring(0, pos);
+ pos = tmp.indexOf('=');
+ params.put(tmp.substring(0, pos), tmp.substring(pos + 1));
+ }
+
+ pos = mimeType.indexOf('/');
+
+ if (pos == -1)
+ throw new IllegalArgumentException();
+
+ mediaType = mimeType.substring(0, pos);
+ mediaSubtype = mimeType.substring(pos + 1);
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof DocFlavor))
+ return false;
+
+ DocFlavor tmp = (DocFlavor) obj;
+
+ return (getMimeType().equals(tmp.getMimeType())
+ && getRepresentationClassName().equals(tmp.getRepresentationClassName()));
+ }
+
+ public String getMediaSubtype()
+ {
+ return mediaSubtype;
+ }
+
+ public String getMediaType()
+ {
+ return mediaType;
+ }
+
+ public String getMimeType()
+ {
+ // FIXME: Check if this algorithm is correct.
+
+ String mimeType = getMediaType() + "/" + getMediaSubtype();
+ Iterator it = params.entrySet().iterator();
+
+ while (it.hasNext())
+ {
+ Map.Entry entry = (Map.Entry) it.next();
+ mimeType += "; " + entry.getKey() + "=\"" + entry.getValue() + "\"";
+ }
+
+ return mimeType;
+ }
+
+ public String getParameter(String paramName)
+ {
+ if (paramName == null)
+ throw new NullPointerException();
+
+ return (String) params.get(paramName);
+ }
+
+ public String getRepresentationClassName()
+ {
+ return className;
+ }
+
+ public int hashCode()
+ {
+ return ((mediaType.hashCode()
+ * mediaSubtype.hashCode()
+ * className.hashCode()) ^ params.hashCode());
+ }
+
+ public String toString()
+ {
+ return getMimeType();
+ }
+}
diff --git a/libjava/classpath/javax/print/DocPrintJob.java b/libjava/classpath/javax/print/DocPrintJob.java
new file mode 100644
index 0000000..f7d3615
--- /dev/null
+++ b/libjava/classpath/javax/print/DocPrintJob.java
@@ -0,0 +1,104 @@
+/* DocPrintJob.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import javax.print.attribute.PrintJobAttributeSet;
+import javax.print.attribute.PrintRequestAttributeSet;
+import javax.print.event.PrintJobAttributeListener;
+import javax.print.event.PrintJobListener;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface DocPrintJob
+{
+ /**
+ * Registers a listener for changes in the specified attributes.
+ *
+ * @param listener the listener to add
+ * @param attributes the attributes to observe
+ */
+ void addPrintJobAttributeListener(PrintJobAttributeListener listener,
+ PrintJobAttributeSet attributes);
+
+ /**
+ * Registers a listener for events occuring during this print job.
+ *
+ * @param listener the listener to add
+ */
+ void addPrintJobListener(PrintJobListener listener);
+
+ /**
+ * Returns the print job's attributes.
+ *
+ * @return the attributes of this print job
+ */
+ PrintJobAttributeSet getAttributes();
+
+ /**
+ * Returns the <code>PrintService</code> object this print job is bound to.
+ *
+ * @return the print service
+ */
+ PrintService getPrintService();
+
+ /**
+ * Prints a document with the specified print job attributes.
+ *
+ * @param doc the document to print
+ * @param attributes the attributes to use
+ *
+ * @throws PrintException if an error occurs
+ */
+ void print(Doc doc, PrintRequestAttributeSet attributes) throws PrintException;
+
+ /**
+ * De-registers an attribute listener.
+ *
+ * @param listener the listener to remove
+ */
+ void removePrintJobAttributeListener(PrintJobAttributeListener listener);
+
+ /**
+ * De-registers a print job listener.
+ *
+ * @param listener the listener to remove
+ */
+ void removePrintJobListener(PrintJobListener listener);
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/FlavorException.java b/libjava/classpath/javax/print/FlavorException.java
new file mode 100644
index 0000000..1de6a22
--- /dev/null
+++ b/libjava/classpath/javax/print/FlavorException.java
@@ -0,0 +1,52 @@
+/* FlavorException.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface FlavorException
+{
+ /**
+ * Returns the unsupported document flavors.
+ *
+ * @return the unsupported document flavors
+ */
+ DocFlavor[] getUnsupportedFlavors();
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/MultiDoc.java b/libjava/classpath/javax/print/MultiDoc.java
new file mode 100644
index 0000000..e7747bc
--- /dev/null
+++ b/libjava/classpath/javax/print/MultiDoc.java
@@ -0,0 +1,66 @@
+/* MultiDoc.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import java.io.IOException;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface MultiDoc
+{
+ /**
+ * Returns the current document.
+ *
+ * @return the current document
+ *
+ * @throws IOException if an error occurs
+ */
+ Doc getDoc() throws IOException;
+
+ /**
+ * Returns the next <code>MultiDoc</code> object.
+ *
+ * @return the next <code>MultiDoc</code> object
+ *
+ * @throws IOException if an error occurs
+ */
+ MultiDoc next() throws IOException;
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/MultiDocPrintJob.java b/libjava/classpath/javax/print/MultiDocPrintJob.java
new file mode 100644
index 0000000..b096769
--- /dev/null
+++ b/libjava/classpath/javax/print/MultiDocPrintJob.java
@@ -0,0 +1,60 @@
+/* MultiDocPrintJob.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import javax.print.attribute.PrintRequestAttributeSet;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface MultiDocPrintJob extends DocPrintJob
+{
+ /**
+ * Request a print of a <code>MultiDoc</code> object.
+ *
+ * @param multiDoc the document to print
+ * @param attributes the printing attributes to apply
+ *
+ * @throws PrintExeption if an error occurs
+ */
+ void print(MultiDoc multiDoc, PrintRequestAttributeSet attributes)
+ throws PrintException;
+}
+ \ No newline at end of file
diff --git a/libjava/classpath/javax/print/MultiDocPrintService.java b/libjava/classpath/javax/print/MultiDocPrintService.java
new file mode 100644
index 0000000..a71d23a
--- /dev/null
+++ b/libjava/classpath/javax/print/MultiDocPrintService.java
@@ -0,0 +1,53 @@
+/* MultiDocPrintService.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface MultiDocPrintService extends PrintService
+{
+ /**
+ * Create a job that can print a <code>MultiDoc</code> object.
+ *
+ * @return the new print job
+ */
+ MultiDocPrintJob createMultiDocPrintJob();
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/PrintException.java b/libjava/classpath/javax/print/PrintException.java
new file mode 100644
index 0000000..3eef243
--- /dev/null
+++ b/libjava/classpath/javax/print/PrintException.java
@@ -0,0 +1,84 @@
+/* PrintException.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintException extends Exception
+{
+ /**
+ * Construct a print exception.
+ */
+ public PrintException()
+ {
+ super();
+ }
+
+ /**
+ * Construct a print exception.
+ *
+ * @param e chained exception
+ */
+ public PrintException(Exception e)
+ {
+ super(e);
+ }
+
+ /**
+ * Construct a print exception.
+ *
+ * @param s detailed message, or null for no message
+ */
+ public PrintException(String s)
+ {
+ super(s);
+ }
+
+ /**
+ * Construct a print exception.
+ *
+ * @param s detailed message, or null for no message
+ * @param e chained exception
+ */
+ public PrintException(String s, Exception e)
+ {
+ super(s, e);
+ }
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/PrintService.java b/libjava/classpath/javax/print/PrintService.java
new file mode 100644
index 0000000..d34fde8
--- /dev/null
+++ b/libjava/classpath/javax/print/PrintService.java
@@ -0,0 +1,226 @@
+/* PrintService.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import javax.print.attribute.Attribute;
+import javax.print.attribute.AttributeSet;
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.PrintServiceAttributeSet;
+import javax.print.event.PrintServiceAttributeListener;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface PrintService
+{
+ /**
+ * Returns a new print job capable to handle all supported document flavors.
+ *
+ * @return the new print job
+ */
+ DocPrintJob createPrintJob();
+
+ /**
+ * Determines if two services refer to the same underlying service.
+ *
+ * @param obj the service to check against
+ *
+ * @return <code>true</code> if both services refer to the sam underlying
+ * service, <code>false</code> otherwise
+ */
+ boolean equals(Object obj);
+
+ /**
+ * Returns the value of a single specified attribute.
+ *
+ * @param category the category of a <code>PrintServiceAttribute</code>
+ *
+ * @return the value of the attribute
+ *
+ * @throws NullPointerException if category is null
+ * @throws IllegalArgumentException if category is not a class that
+ * implements <code>PrintServiceAttribute</code>
+ */
+ PrintServiceAttribute getAttribute(Class category);
+
+ /**
+ * Returns all attributes of this printer service
+ *
+ * @return all attributes of this print service
+ */
+ PrintServiceAttributeSet getAttributes();
+
+ /**
+ * Returns the service's default value for a given attribute.
+ *
+ * @param category the category of the attribute
+ *
+ * @return the default value
+ *
+ * @throws NullPointerException if <code>category</code> is null
+ * @throws IllegalArgumentException if <code>category</code> is a class
+ * not implementing <code>Attribute</code>
+ */
+ Object getDefaultAttributeValue(Class category);
+
+ /**
+ * Returns the name of this print service.
+ *
+ * @return the name
+ */
+ String getName();
+
+ /**
+ * Returns a factory for UI components.
+ *
+ * @return the factory
+ */
+ ServiceUIFactory getServiceUIFactory();
+
+ /**
+ * Returns all supported attribute categories.
+ *
+ * @return an array of all supported attribute categories
+ */
+ Class[] getSupportedAttributeCategories();
+
+ /**
+ * Returns all supported attribute values a client can use when setting up
+ * a print job with this service.
+ *
+ * @param category the attribute category to test
+ * @param flavor the document flavor to use, or null
+ * @param attributes set of printing attributes for a supposed job, or null
+ *
+ * @return object indicating supported values for <code>category</code>,
+ * or null if this print service doesnt support specifying doc-level or
+ * job-level attribute in a print request.
+ *
+ * @throws NullPointerException if <code>category</code> is null
+ * @throws IllegalArgumentException if <code>category</code> is a class not
+ * implementing <code>Attribute</code>, or if <code>flavor</code> is not
+ * supported
+ */
+ Object getSupportedAttributeValues(Class category, DocFlavor flavor, AttributeSet attributes);
+
+ /**
+ * Returns an array of all supproted document flavors.
+ *
+ * @return the supported document flavors
+ */
+ DocFlavor[] getSupportedDocFlavors();
+
+ /**
+ * Returns all attributes that are unsupported for a print request in the
+ * context of a particular document flavor.
+ *
+ * @param flavor document flavor to test, or null
+ * @param attributes set of printing attributes for a supposed job
+ *
+ * @return null if this <code>PrintService</code> supports the print request
+ * specification, else the unsupported attributes
+ *
+ * @throws IllegalArgumentException if <code>flavor</code> is unsupported
+ */
+ AttributeSet getUnsupportedAttributes(DocFlavor flavor, AttributeSet attributes);
+
+ /**
+ * Returns a hashcode for this printer service.
+ *
+ * @return the hashcode
+ */
+ int hashCode();
+
+ /**
+ * Determines a given attribute category is supported or not.
+ *
+ * @param category the category to check
+ *
+ * @return <code>true</code> if <code>category</code> is supported,
+ * <code>false</code> otherwise
+ *
+ * @throws NullPointerException if <code>category</code> is null
+ * @throws IllegalArgumentException if <code>category</code> is a class not
+ * implementing <code>Attribute</code>.
+ */
+ boolean isAttributeCategorySupported(Class category);
+
+ /**
+ * Determines a given attribute value is supported when creating a print job
+ * for this print service.
+ *
+ * @param attrval the attribute value to check
+ * @param flavor the document flavor to use, or null
+ * @param attributes set of printing attributes to use, or null
+ *
+ * @return <code>true</code> if the attribute value is supported,
+ * <code>false</code> otherwise
+ *
+ * @throws NullPointerException if <code>attrval</code> is null
+ * @throws IllegalArgumentException if <code>flavor</code> is not supported
+ * by this print service
+ */
+ boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor, AttributeSet attributes);
+
+ /**
+ * Determines a given document flavor is supported or not.
+ *
+ * @param flavor the document flavor to check
+ *
+ * @return <code>true</code> if <code>flavor</code> is supported,
+ * <code>false</code> otherwise
+ *
+ * @throws NullPointerException if <code>flavor</code> is null
+ */
+ boolean isDocFlavorSupported(DocFlavor flavor);
+
+ /**
+ * Registers a print service attribute listener to this print service.
+ *
+ * @param listener the listener to add
+ */
+ void addPrintServiceAttributeListener(PrintServiceAttributeListener listener);
+
+ /**
+ * De-registers a print service attribute listener from this print service.
+ *
+ * @param listener the listener to remove
+ */
+ void removePrintServiceAttributeListener(PrintServiceAttributeListener listener);
+}
diff --git a/libjava/classpath/javax/print/PrintServiceLookup.java b/libjava/classpath/javax/print/PrintServiceLookup.java
new file mode 100644
index 0000000..2add8d1
--- /dev/null
+++ b/libjava/classpath/javax/print/PrintServiceLookup.java
@@ -0,0 +1,76 @@
+/* PrintServiceLookup.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import javax.print.attribute.AttributeSet;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public abstract class PrintServiceLookup
+{
+ /**
+ * Constructs a <code>PrintServiceLookup</code> object.
+ */
+ public PrintServiceLookup()
+ {
+ // Do nothing here
+ }
+
+ /**
+ * Not called direclty by applications.
+ */
+ public abstract PrintService getDefaultPrintService();
+
+ /**
+ * Not called direclty by applications.
+ */
+ public abstract MultiDocPrintService[] getMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes);
+
+ /**
+ * Not called direclty by applications.
+ */
+ public abstract PrintService[] getPrintServices();
+
+ /**
+ * Not called direclty by applications.
+ */
+ public abstract PrintService[] getPrintServices(DocFlavor flavor, AttributeSet attributes);
+}
diff --git a/libjava/classpath/javax/print/ServiceUIFactory.java b/libjava/classpath/javax/print/ServiceUIFactory.java
new file mode 100644
index 0000000..66e6114
--- /dev/null
+++ b/libjava/classpath/javax/print/ServiceUIFactory.java
@@ -0,0 +1,89 @@
+/* ServiceUIFactory.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class ServiceUIFactory
+{
+ public static final int ABOUT_UIROLE = 1;
+ public static final int ADMIN_UIROLE = 2;
+ public static final int MAIN_UIROLE = 3;
+ public static final int RESERVED_UIROLE = 99;
+
+ public static final String DIALOG_UI = "java.awt.Dialog";
+ public static final String JCOMPONENT_UI = "javax.swing.JComponent";
+ public static final String JDIALOG_UI = "javax.swing.JDialog";
+ public static final String PANEL_UI = "java.awt.Panel";
+
+ /**
+ * Constructs a <code>ServiceUIFactory</code> object.
+ */
+ public ServiceUIFactory()
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Returns an UI object which may be cast to the requested UI type.
+ *
+ * @param role the role requested. Must be one of the standard roles
+ * or a private role supported by this factory
+ * @param ui type in which the role is requested
+ *
+ * @return the UI role or null of this role is not supported by this factory
+ *
+ * @throws IllegalArgumentException if <code>role</code> is neither one of
+ * the standard ones nor a private one supported by this factory
+ */
+ public abstract Object getUI(int role, String ui);
+
+ /**
+ * Returns the UI types supported by this factory for an UI role.
+ *
+ * @param role the role to be looked up
+ *
+ * @return an array of UI types
+ *
+ * @throws IllegalArgumentException if <code>role</code> is neither one of
+ * the standard ones nor a private one supported by this factory
+ */
+ public abstract String[] getUIClassNamesForRole(int role);
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/StreamPrintService.java b/libjava/classpath/javax/print/StreamPrintService.java
new file mode 100644
index 0000000..9246ea4
--- /dev/null
+++ b/libjava/classpath/javax/print/StreamPrintService.java
@@ -0,0 +1,97 @@
+/* StreamPrintService.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import java.io.OutputStream;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public abstract class StreamPrintService implements PrintService
+{
+ private boolean disposed;
+ private OutputStream out;
+
+ /**
+ * Constructs a <code>StreamPrintService</code> object.
+ *
+ * @param out the <code>OutputStream</code> to use
+ */
+ protected StreamPrintService(OutputStream out)
+ {
+ this.out = out;
+ }
+
+ /**
+ * Dispose this <code>StreamPrintService</code> object.
+ */
+ public void dispose()
+ {
+ disposed = true;
+ }
+
+ /**
+ * Returns the document format emited by this print service.
+ *
+ * @return the document format
+ */
+ public abstract String getOutputFormat();
+
+ /**
+ * Returns the <code>OutputStream</code> of this object.
+ *
+ * @return the <code>OutputStream</code>
+ */
+ public OutputStream getOutputStream()
+ {
+ return out;
+ }
+
+ /**
+ * Determines if this <code>StreamPrintService</code> object is disposed.
+ *
+ * @return <code>true</code> if disposed already,
+ * otherwise <code>false</code>
+ */
+ public boolean isDisposed()
+ {
+ return disposed;
+ }
+} \ No newline at end of file
diff --git a/libjava/classpath/javax/print/URIException.java b/libjava/classpath/javax/print/URIException.java
new file mode 100644
index 0000000..5cc4c0d
--- /dev/null
+++ b/libjava/classpath/javax/print/URIException.java
@@ -0,0 +1,65 @@
+/* URIException.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print;
+
+import java.net.URI;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface URIException
+{
+ int URIInaccessible = 1;
+ int URIOtherProblem = -1;
+ int URISchemeNotSupported = 2;
+
+ /**
+ * Returns the reason for this exception.
+ *
+ * @return the reason
+ */
+ int getReason();
+
+ /**
+ * Returns the unsupported <code>URI</code> for this exception.
+ *
+ * @return the unsupported <code>URI</code>.
+ */
+ URI getUnsupportedURI();
+}
diff --git a/libjava/classpath/javax/print/attribute/Attribute.java b/libjava/classpath/javax/print/attribute/Attribute.java
new file mode 100644
index 0000000..fcaa7d8
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/Attribute.java
@@ -0,0 +1,50 @@
+/* Attribute.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+/**
+ * @author Michael Koch
+ */
+public interface Attribute extends Serializable
+{
+ Class getCategory ();
+
+ String getName ();
+}
diff --git a/libjava/classpath/javax/print/attribute/AttributeSet.java b/libjava/classpath/javax/print/attribute/AttributeSet.java
new file mode 100644
index 0000000..cdc7a8e
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/AttributeSet.java
@@ -0,0 +1,77 @@
+/* AttributeSet.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface AttributeSet
+{
+ /**
+ * Adds the specified attribute value to this attribute set
+ * if it is not already present.
+ */
+ boolean add (Attribute attribute);
+
+ /**
+ * Adds all of the elements in the specified set to this attribute.
+ */
+ boolean addAll (AttributeSet attributes);
+
+ void clear ();
+
+ boolean containsKey (Class category);
+
+ boolean containsValue (Attribute attribute);
+
+ boolean equals (Object obj);
+
+ Attribute get (Class Category);
+
+ int hashCode ();
+
+ boolean isEmpty ();
+
+ boolean remove (Attribute attribute);
+
+ boolean remove (Class category);
+
+ int size ();
+
+ Attribute[] toArray ();
+}
diff --git a/libjava/classpath/javax/print/attribute/AttributeSetUtilities.java b/libjava/classpath/javax/print/attribute/AttributeSetUtilities.java
new file mode 100644
index 0000000..6f0ffc1
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/AttributeSetUtilities.java
@@ -0,0 +1,450 @@
+/* AttributeSetUtilities.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+public final class AttributeSetUtilities
+{
+ /**
+ * This class isn't intended to be instantiated.
+ */
+ private AttributeSetUtilities() {}
+
+ private static class UnmodifiableAttributeSet
+ implements AttributeSet, Serializable
+ {
+ private AttributeSet set;
+
+ public UnmodifiableAttributeSet(AttributeSet attributeSet)
+ {
+ if (attributeSet == null)
+ throw new NullPointerException("attributeSet may not be null");
+
+ this.set = attributeSet;
+ }
+
+ public boolean add(Attribute attribute)
+ {
+ throw new UnmodifiableSetException();
+ }
+
+ public boolean addAll(AttributeSet attributes)
+ {
+ throw new UnmodifiableSetException();
+ }
+
+ public void clear()
+ {
+ throw new UnmodifiableSetException();
+ }
+
+ public boolean containsKey(Class category)
+ {
+ return set.containsKey(category);
+ }
+
+ public boolean containsValue(Attribute attribute)
+ {
+ return set.containsValue(attribute);
+ }
+
+ public boolean equals(Object obj)
+ {
+ return set.equals(obj);
+ }
+
+ public Attribute get(Class interfaceName)
+ {
+ return set.get(interfaceName);
+ }
+
+ public int hashCode()
+ {
+ return set.hashCode();
+ }
+
+ public boolean isEmpty()
+ {
+ return set.isEmpty();
+ }
+
+ public boolean remove(Class category)
+ {
+ throw new UnmodifiableSetException();
+ }
+
+ public boolean remove(Attribute attribute)
+ {
+ throw new UnmodifiableSetException();
+ }
+
+ public int size()
+ {
+ return set.size();
+ }
+
+ public Attribute[] toArray()
+ {
+ return set.toArray();
+ }
+ }
+
+ private static class UnmodifiableDocAttributeSet
+ extends UnmodifiableAttributeSet
+ implements DocAttributeSet, Serializable
+ {
+ public UnmodifiableDocAttributeSet(DocAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ private static class UnmodifiablePrintJobAttributeSet
+ extends UnmodifiableAttributeSet
+ implements PrintJobAttributeSet, Serializable
+ {
+ public UnmodifiablePrintJobAttributeSet(PrintJobAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ private static class UnmodifiablePrintRequestAttributeSet
+ extends UnmodifiableAttributeSet
+ implements PrintRequestAttributeSet, Serializable
+ {
+ public UnmodifiablePrintRequestAttributeSet(PrintRequestAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ private static class UnmodifiablePrintServiceAttributeSet
+ extends UnmodifiableAttributeSet
+ implements PrintServiceAttributeSet, Serializable
+ {
+ public UnmodifiablePrintServiceAttributeSet(PrintServiceAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ private static class SynchronizedAttributeSet
+ implements AttributeSet, Serializable
+ {
+ private AttributeSet set;
+
+ public SynchronizedAttributeSet(AttributeSet attributeSet)
+ {
+ if (attributeSet == null)
+ throw new NullPointerException("attributeSet may not be null");
+
+ this.set = attributeSet;
+ }
+
+ public synchronized boolean add(Attribute attribute)
+ {
+ return set.add(attribute);
+ }
+
+ public synchronized boolean addAll(AttributeSet attributes)
+ {
+ return set.addAll(attributes);
+ }
+
+ public synchronized void clear()
+ {
+ set.clear();
+ }
+
+ public synchronized boolean containsKey(Class category)
+ {
+ return set.containsKey(category);
+ }
+
+ public synchronized boolean containsValue(Attribute attribute)
+ {
+ return set.containsValue(attribute);
+ }
+
+ public synchronized boolean equals(Object obj)
+ {
+ return set.equals(obj);
+ }
+
+ public synchronized Attribute get(Class interfaceName)
+ {
+ return set.get(interfaceName);
+ }
+
+ public synchronized int hashCode()
+ {
+ return set.hashCode();
+ }
+
+ public synchronized boolean isEmpty()
+ {
+ return set.isEmpty();
+ }
+
+ public synchronized boolean remove(Class category)
+ {
+ return set.remove(category);
+ }
+
+ public synchronized boolean remove(Attribute attribute)
+ {
+ return set.remove(attribute);
+ }
+
+ public synchronized int size()
+ {
+ return set.size();
+ }
+
+ public synchronized Attribute[] toArray()
+ {
+ return set.toArray();
+ }
+ }
+
+ private static class SynchronizedDocAttributeSet
+ extends SynchronizedAttributeSet
+ implements DocAttributeSet, Serializable
+ {
+ public SynchronizedDocAttributeSet(DocAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ private static class SynchronizedPrintJobAttributeSet
+ extends SynchronizedAttributeSet
+ implements PrintJobAttributeSet, Serializable
+ {
+ public SynchronizedPrintJobAttributeSet(PrintJobAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ private static class SynchronizedPrintRequestAttributeSet
+ extends SynchronizedAttributeSet
+ implements PrintRequestAttributeSet, Serializable
+ {
+ public SynchronizedPrintRequestAttributeSet(PrintRequestAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ private static class SynchronizedPrintServiceAttributeSet
+ extends SynchronizedAttributeSet
+ implements PrintServiceAttributeSet, Serializable
+ {
+ public SynchronizedPrintServiceAttributeSet(PrintServiceAttributeSet attributeSet)
+ {
+ super(attributeSet);
+ }
+ }
+
+ /**
+ * Returns a synchronized view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static AttributeSet synchronizedView(AttributeSet attributeSet)
+ {
+ return new SynchronizedAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns a synchronized view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static DocAttributeSet synchronizedView(DocAttributeSet attributeSet)
+ {
+ return new SynchronizedDocAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns a synchronized view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static PrintJobAttributeSet synchronizedView(PrintJobAttributeSet attributeSet)
+ {
+ return new SynchronizedPrintJobAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns a synchronized view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static PrintRequestAttributeSet synchronizedView(PrintRequestAttributeSet attributeSet)
+ {
+ return new SynchronizedPrintRequestAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns a synchronized view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static PrintServiceAttributeSet synchronizedView(PrintServiceAttributeSet attributeSet)
+ {
+ return new SynchronizedPrintServiceAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns an unmodifiable view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static AttributeSet unmodifiableView(AttributeSet attributeSet)
+ {
+ return new UnmodifiableAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns an unmodifiable view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static DocAttributeSet unmodifiableView(DocAttributeSet attributeSet)
+ {
+ return new UnmodifiableDocAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns an unmodifiable view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static PrintJobAttributeSet unmodifiableView(PrintJobAttributeSet attributeSet)
+ {
+ return new UnmodifiablePrintJobAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns an unmodifiable view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static PrintRequestAttributeSet unmodifiableView(PrintRequestAttributeSet attributeSet)
+ {
+ return new UnmodifiablePrintRequestAttributeSet(attributeSet);
+ }
+
+ /**
+ * Returns an unmodifiable view of the given attribute set.
+ *
+ * @return the sychronized attribute set
+ */
+ public static PrintServiceAttributeSet unmodifiableView(PrintServiceAttributeSet attributeSet)
+ {
+ return new UnmodifiablePrintServiceAttributeSet(attributeSet);
+ }
+
+ /**
+ * Verifies that the given object is a <code>Class</code> that
+ * implements the given interface name.
+ *
+ * @return object casted to <code>Class</code>
+ *
+ * @exception ClassCastException if object is not a <code>Class</code>
+ * that implements interfaceName
+ * @exception NullPointerException if object is null
+ */
+ public static Class verifyAttributeCategory(Object object,
+ Class interfaceName)
+ {
+ if (object == null)
+ throw new NullPointerException("object may not be null");
+
+ Class clazz = (Class) object;
+
+ if (interfaceName.isAssignableFrom(clazz))
+ return clazz;
+
+ throw new ClassCastException();
+ }
+
+ /**
+ * Verifies that the given object is an attribute of the given interface.
+ *
+ * @return the object casted to <code>Attribute</code>
+ *
+ * @exception ClassCastException if object is no instance of interfaceName.
+ * @exception NullPointerException if object is null
+ */
+ public static Attribute verifyAttributeValue(Object object,
+ Class interfaceName)
+ {
+ if (object == null)
+ throw new NullPointerException("object may not be null");
+
+ if (interfaceName.isInstance(object))
+ return (Attribute) object;
+
+ throw new ClassCastException();
+ }
+
+ /**
+ * Verifies that the category of attribute is equals to category.
+ *
+ * @param category the category the atteribute should be
+ * @param attribute the attribute to verify
+ *
+ * @exception IllegalArgumentException if the categories are not equal
+ * @exception NullPointerException if category is null
+ */
+ public static void verifyCategoryForValue(Class category,
+ Attribute attribute)
+ {
+ if (category == null)
+ throw new NullPointerException("object may not be null");
+
+ if (category.equals(attribute.getCategory()))
+ throw new IllegalArgumentException
+ ("category of attribute not equal to category");
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/DateTimeSyntax.java b/libjava/classpath/javax/print/attribute/DateTimeSyntax.java
new file mode 100644
index 0000000..0e583e0
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/DateTimeSyntax.java
@@ -0,0 +1,101 @@
+/* DateTimeSyntax.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class DateTimeSyntax implements Cloneable, Serializable
+{
+ private static final long serialVersionUID = -1400819079791208582L;
+
+ private Date value;
+
+ /**
+ * Creates a <code>DateTimeSyntax</code> with a given value.
+ *
+ * @param value the value for this syntax
+ *
+ * @exception NullPointerException if value is null
+ */
+ protected DateTimeSyntax(Date value)
+ {
+ if (value == null)
+ throw new NullPointerException("value may not be null");
+
+ this.value = value;
+ }
+
+ /**
+ * Returns the date value of this object.
+ *
+ * @return the date value
+ */
+ public Date getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Tests if the given object is equal to this one.
+ *
+ * @param obj the object to test
+ *
+ * @return True if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof DateTimeSyntax))
+ return false;
+
+ return value.equals(((DateTimeSyntax) obj).getValue());
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return value.hashCode();
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/DocAttribute.java b/libjava/classpath/javax/print/attribute/DocAttribute.java
new file mode 100644
index 0000000..669d7d9
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/DocAttribute.java
@@ -0,0 +1,45 @@
+/* DocAttribute.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface DocAttribute extends Attribute
+{
+}
diff --git a/libjava/classpath/javax/print/attribute/DocAttributeSet.java b/libjava/classpath/javax/print/attribute/DocAttributeSet.java
new file mode 100644
index 0000000..72cd6d8
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/DocAttributeSet.java
@@ -0,0 +1,55 @@
+/* DocAttributeSet.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface DocAttributeSet extends AttributeSet
+{
+ /**
+ * Adds the specified attribute value to this attribute set
+ * if it is not already present.
+ */
+ boolean add (Attribute attribute);
+
+ /**
+ * Adds all of the elements in the specified set to this attribute.
+ */
+ boolean addAll (AttributeSet attributes);
+}
diff --git a/libjava/classpath/javax/print/attribute/EnumSyntax.java b/libjava/classpath/javax/print/attribute/EnumSyntax.java
new file mode 100644
index 0000000..3ed79fc
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/EnumSyntax.java
@@ -0,0 +1,146 @@
+/* EnumSyntax.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class EnumSyntax implements Cloneable, Serializable
+{
+ private static final long serialVersionUID = -2739521845085831642L;
+
+ private int value;
+
+ /**
+ * Creates a <code>EnumSyntax</code> object.
+ *
+ * @param value the value to set
+ */
+ protected EnumSyntax(int value)
+ {
+ this.value = value;
+ }
+
+ /**
+ * Returns the value of this object.
+ *
+ * @return the value
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Clones this object.
+ *
+ * @return a clone of this object
+ */
+ public Object clone()
+ {
+ try
+ {
+ return super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ // Cannot happen as we implement java.lang.Cloneable.
+ return null;
+ }
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return value;
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ int index = value - getOffset();
+ String[] table = getStringTable();
+
+ if (table != null
+ && index >= 0
+ && index < table.length)
+ return table[index];
+
+ return "" + value;
+ }
+
+ /**
+ * Returns a table with the enumeration values represented as strings
+ * for this object.
+ *
+ * The default implementation just returns null.
+ *
+ * @return the enumeration values as strings
+ */
+ protected String[] getStringTable()
+ {
+ return null;
+ }
+
+ /**
+ * Returns a table with the enumeration values for this object.
+ *
+ * The default implementation just returns null.
+ *
+ * @return the enumeration values
+ */
+ protected EnumSyntax[] getEnumValueTable()
+ {
+ return null;
+ }
+
+ protected int getOffset()
+ {
+ return 0;
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/HashAttributeSet.java b/libjava/classpath/javax/print/attribute/HashAttributeSet.java
new file mode 100644
index 0000000..c5fbe5e
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/HashAttributeSet.java
@@ -0,0 +1,366 @@
+/* HashAttributeSet.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class HashAttributeSet implements AttributeSet, Serializable
+{
+ private static final long serialVersionUID = 5311560590283707917L;
+
+ private Class interfaceName;
+ private HashMap attributeMap = new HashMap();
+
+ /**
+ * Creates an empty <code>HashAttributeSet</code> object.
+ */
+ public HashAttributeSet()
+ {
+ this(Attribute.class);
+ }
+
+ /**
+ * Creates a <code>HashAttributeSet</code> object with the given
+ * attribute in it.
+ *
+ * @param attribute the attribute to put into the set
+ *
+ * @exception NullPointerException if attribute is null
+ */
+ public HashAttributeSet(Attribute attribute)
+ {
+ this(attribute, Attribute.class);
+ }
+
+ /**
+ * Creates a <code>HashAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the set
+ *
+ * @exception NullPointerException If attributes is null
+ */
+ public HashAttributeSet(Attribute[] attributes)
+ {
+ this(attributes, Attribute.class);
+ }
+
+ /**
+ * Creates a <code>HashAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the set
+ *
+ * @exception NullPointerException If attributes is null
+ */
+ public HashAttributeSet(AttributeSet attributes)
+ {
+ this(attributes, Attribute.class);
+ }
+
+ /**
+ * Creates an empty <code>HashAttributeSet</code> object.
+ *
+ * @param interfaceName the interface that all members must implement
+ *
+ * @exception NullPointerException if interfaceName is null
+ */
+ protected HashAttributeSet(Class interfaceName)
+ {
+ if (interfaceName == null)
+ throw new NullPointerException("interfaceName may not be null");
+
+ this.interfaceName = interfaceName;
+ }
+
+ /**
+ * Creates an empty <code>HashAttributeSet</code> object.
+ *
+ * @exception ClassCastException if attribute is not an interface of
+ * interfaceName
+ * @exception NullPointerException if attribute or interfaceName is null
+ */
+ protected HashAttributeSet(Attribute attribute, Class interfaceName)
+ {
+ this(interfaceName);
+
+ if (attribute == null)
+ throw new NullPointerException();
+
+ addInternal(attribute, interfaceName);
+ }
+
+ /**
+ * Creates an empty <code>HashAttributeSet</code> object.
+ *
+ * @exception ClassCastException if any element of attributes is not an
+ * interface of interfaceName
+ * @exception NullPointerException if attributes or interfaceName is null
+ */
+ protected HashAttributeSet(Attribute[] attributes, Class interfaceName)
+ {
+ this(interfaceName);
+
+ if (attributes == null)
+ throw new NullPointerException();
+
+ for (int index = 0; index < attributes.length; index++)
+ addInternal(attributes[index], interfaceName);
+ }
+
+ /**
+ * Creates an empty <code>HashAttributeSet</code> object.
+ *
+ * @exception ClassCastException if any element of attributes is not an
+ * interface of interfaceName
+ */
+ protected HashAttributeSet(AttributeSet attributes, Class interfaceName)
+ {
+ this(interfaceName);
+
+ if (attributes != null)
+ addAllInternal(attributes, interfaceName);
+ }
+
+ /**
+ * Adds the given attribute to the set.
+ *
+ * @param attribute the attribute to add
+ *
+ * @return true if the attribute set has changed, false otherwise
+ *
+ * @exception NullPointerException if attribute is null
+ * @exception UnmodifiableSetException if this attribute set does not
+ * support this action.
+ */
+ public boolean add(Attribute attribute)
+ {
+ return addInternal(attribute, interfaceName);
+ }
+
+ private boolean addInternal(Attribute attribute, Class interfaceName)
+ {
+ if (attribute == null)
+ throw new NullPointerException("attribute may not be null");
+
+ AttributeSetUtilities.verifyAttributeCategory(interfaceName,
+ this.interfaceName);
+
+ Object old = attributeMap.put
+ (attribute.getCategory(), AttributeSetUtilities.verifyAttributeValue
+ (attribute, interfaceName));
+ return !attribute.equals(old);
+ }
+
+ /**
+ * Adds the given attributes to the set.
+ *
+ * @param attributes the attributes to add
+ *
+ * @return true if the attribute set has changed, false otherwise
+ *
+ * @exception UnmodifiableSetException if this attribute set does not
+ * support this action.
+ */
+ public boolean addAll(AttributeSet attributes)
+ {
+ return addAllInternal(attributes, interfaceName);
+ }
+
+ private boolean addAllInternal(AttributeSet attributes, Class interfaceName)
+ {
+ boolean modified = false;
+ Attribute[] array = attributes.toArray();
+
+ for (int index = 0; index < array.length; index++)
+ if (addInternal(array[index], interfaceName))
+ modified = true;
+
+ return modified;
+ }
+
+ /**
+ * Removes all attributes from this attribute set.
+ *
+ * @exception UnmodifiableSetException if this attribute set does not
+ * support this action.
+ */
+ public void clear()
+ {
+ attributeMap.clear();
+ }
+
+ /**
+ * Checks if this attribute set contains an entry with the given category.
+ *
+ * @param category the category to test for
+ *
+ * @return true if the category exists in this attribute set, false otherwise.
+ */
+ public boolean containsKey(Class category)
+ {
+ return attributeMap.containsKey(category);
+ }
+
+ /**
+ * Checks if this attribute set contains an entry with the given attribute.
+ *
+ * @param attribute the attribute to test for
+ *
+ * @return true if the attribute exists in this attribute set,
+ * false otherwise.
+ */
+ public boolean containsValue(Attribute attribute)
+ {
+ return attributeMap.containsValue(attribute);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof HashAttributeSet))
+ return false;
+
+ return attributeMap.equals(((HashAttributeSet) obj).attributeMap);
+ }
+
+ /**
+ * Returns the attribute value that is connected to the given attribute
+ * category. If the attribute set does not contains the given category null
+ * will be returned.
+ *
+ * @param category the attribute category to return the attribute value for
+ *
+ * @return the attribute associated to category, or null
+ */
+ public Attribute get(Class category)
+ {
+ return (Attribute) attributeMap.get(category);
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return attributeMap.hashCode() + interfaceName.hashCode();
+ }
+
+ /**
+ * Checks if the attribute set is empty.
+ *
+ * @return true if the attribute set is empty, false otherwise
+ */
+ public boolean isEmpty()
+ {
+ return attributeMap.isEmpty();
+ }
+
+ /**
+ * Removes the entry with the given attribute in it.
+ *
+ * @param attribute the attribute value of the entry to be removed
+ *
+ * @return true if the attribute set has changed, false otherwise.
+ *
+ * @exception UnmodifiableSetException if this attribute set does not
+ * support this action.
+ */
+ public boolean remove(Attribute attribute)
+ {
+ if (attribute == null)
+ return false;
+
+ return attributeMap.remove(attribute.getCategory()) != null;
+ }
+
+ /**
+ * Removes the entry with the given category in it.
+ *
+ * @param category the category value of the entry to be removed
+ *
+ * @return true if the attribute set has changed, false otherwise.
+ */
+ public boolean remove(Class category)
+ {
+ if (category == null)
+ return false;
+
+ return attributeMap.remove(category) != null;
+ }
+
+ /**
+ * Returns the number of elements in this attribute set.
+ *
+ * @return the number of elements.
+ */
+ public int size()
+ {
+ return attributeMap.size();
+ }
+
+ /**
+ * Returns the content of the attribute set as an array
+ *
+ * @return an array of attributes
+ */
+ public Attribute[] toArray()
+ {
+ int index = 0;
+ Iterator it = attributeMap.entrySet().iterator();
+ Attribute[] array = new Attribute[size()];
+
+ while (it.hasNext())
+ {
+ array[index] = (Attribute) it.next();
+ index++;
+ }
+
+ return array;
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/HashDocAttributeSet.java b/libjava/classpath/javax/print/attribute/HashDocAttributeSet.java
new file mode 100644
index 0000000..1647ae2
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/HashDocAttributeSet.java
@@ -0,0 +1,94 @@
+/* HashDocAttributeSet.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+public class HashDocAttributeSet extends HashAttributeSet
+ implements DocAttributeSet, Serializable
+{
+ private static final long serialVersionUID = -1128534486061432528L;
+
+ /**
+ * Creates an empty <code>HashDocAttributeSet</code> object.
+ */
+ public HashDocAttributeSet()
+ {
+ super(DocAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashDocAttributeSet</code> object with the given
+ * attribute in it.
+ *
+ * @param attribute the attriute tu put into the attribute set
+ *
+ * @exception NullPointerException if attribute is null
+ */
+ public HashDocAttributeSet(DocAttribute attribute)
+ {
+ super(attribute, DocAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashDocAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception NullPointerException if attributes is null
+ */
+ public HashDocAttributeSet(DocAttribute[] attributes)
+ {
+ super(attributes, DocAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashDocAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception ClassCastException if any element of attributes is not
+ * an instance of <code>DocAttribute</code>
+ */
+ public HashDocAttributeSet(DocAttributeSet attributes)
+ {
+ super(attributes, DocAttribute.class);
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/HashPrintJobAttributeSet.java b/libjava/classpath/javax/print/attribute/HashPrintJobAttributeSet.java
new file mode 100644
index 0000000..84fa7ec
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/HashPrintJobAttributeSet.java
@@ -0,0 +1,94 @@
+/* HashPrintJobAttributeSet.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+public class HashPrintJobAttributeSet extends HashAttributeSet
+ implements Serializable, PrintJobAttributeSet
+{
+ private static final long serialVersionUID = -4204473656070350348L;
+
+ /**
+ * Creates an empty <code>HashPrintJobAttributeSet</code> object.
+ */
+ public HashPrintJobAttributeSet()
+ {
+ super(PrintJobAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintJobAttributeSet</code> object with the given
+ * attribute in it.
+ *
+ * @param attribute the attriute tu put into the attribute set
+ *
+ * @exception NullPointerException if attribute is null
+ */
+ public HashPrintJobAttributeSet(PrintJobAttribute attribute)
+ {
+ super(attribute, PrintJobAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintJobAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception NullPointerException if attributes is null
+ */
+ public HashPrintJobAttributeSet(PrintJobAttribute[] attributes)
+ {
+ super(attributes, PrintJobAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintJobAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception ClassCastException if any element of attributes is not
+ * an instance of <code>PrintJobAttribute</code>
+ */
+ public HashPrintJobAttributeSet(PrintJobAttributeSet attributes)
+ {
+ super(attributes, PrintJobAttribute.class);
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/HashPrintRequestAttributeSet.java b/libjava/classpath/javax/print/attribute/HashPrintRequestAttributeSet.java
new file mode 100644
index 0000000..29a1786
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/HashPrintRequestAttributeSet.java
@@ -0,0 +1,94 @@
+/* HashPrintRequestAttributeSet.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+public class HashPrintRequestAttributeSet extends HashAttributeSet
+ implements Serializable, PrintRequestAttributeSet
+{
+ private static final long serialVersionUID = 2364756266107751933L;
+
+ /**
+ * Creates an empty <code>HashPrintRequestAttributeSet</code> object.
+ */
+ public HashPrintRequestAttributeSet()
+ {
+ super(PrintRequestAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintRequestAttributeSet</code> object with the given
+ * attribute in it.
+ *
+ * @param attribute the attriute tu put into the attribute set
+ *
+ * @exception NullPointerException if attribute is null
+ */
+ public HashPrintRequestAttributeSet(PrintRequestAttribute attribute)
+ {
+ super(attribute, PrintRequestAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintRequestAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception NullPointerException if attributes is null
+ */
+ public HashPrintRequestAttributeSet(PrintRequestAttribute[] attributes)
+ {
+ super(attributes, PrintRequestAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintRequestAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception ClassCastException if any element of attributes is not
+ * an instance of <code>PrintRequestAttribute</code>
+ */
+ public HashPrintRequestAttributeSet(PrintRequestAttributeSet attributes)
+ {
+ super(attributes, PrintRequestAttribute.class);
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/HashPrintServiceAttributeSet.java b/libjava/classpath/javax/print/attribute/HashPrintServiceAttributeSet.java
new file mode 100644
index 0000000..60e12bf
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/HashPrintServiceAttributeSet.java
@@ -0,0 +1,94 @@
+/* HashPrintServiceAttributeSet.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+public class HashPrintServiceAttributeSet extends HashAttributeSet
+ implements Serializable, PrintServiceAttributeSet
+{
+ private static final long serialVersionUID = 6642904616179203070L;
+
+ /**
+ * Creates an empty <code>HashPrintServiceAttributeSet</code> object.
+ */
+ public HashPrintServiceAttributeSet()
+ {
+ super(PrintServiceAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintServiceAttributeSet</code> object with the given
+ * attribute in it.
+ *
+ * @param attribute the attriute tu put into the attribute set
+ *
+ * @exception NullPointerException if attribute is null
+ */
+ public HashPrintServiceAttributeSet(PrintServiceAttribute attribute)
+ {
+ super(attribute, PrintServiceAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintServiceAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception NullPointerException if attributes is null
+ */
+ public HashPrintServiceAttributeSet(PrintServiceAttribute[] attributes)
+ {
+ super(attributes, PrintServiceAttribute.class);
+ }
+
+ /**
+ * Creates a <code>HashPrintServiceAttributeSet</code> object with the given
+ * attributes in it.
+ *
+ * @param attributes the attributes to put into the attribute set
+ *
+ * @exception ClassCastException if any element of attributes is not
+ * an instance of <code>PrintServiceAttribute</code>
+ */
+ public HashPrintServiceAttributeSet(PrintServiceAttributeSet attributes)
+ {
+ super(attributes, PrintServiceAttribute.class);
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/IntegerSyntax.java b/libjava/classpath/javax/print/attribute/IntegerSyntax.java
new file mode 100644
index 0000000..d5500b4
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/IntegerSyntax.java
@@ -0,0 +1,122 @@
+/* IntegerSyntax.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class IntegerSyntax implements Cloneable, Serializable
+{
+ private int value;
+
+ /**
+ * Creates a <code>IntegerSyntax</code> with the given value.
+ *
+ * @param value the value to set
+ */
+ protected IntegerSyntax(int value)
+ {
+ this.value = value;
+ }
+
+ /**
+ * Creates a <code>IntegerSyntax</code> with the given arguments.
+ *
+ * @param value the value to set
+ * @param lowerBound the lower bound for the value
+ * @param upperBound the upper bound for the value
+ *
+ * @exception IllegalArgumentException if value < lowerBound
+ * or value > upperBound
+ */
+ protected IntegerSyntax(int value, int lowerBound, int upperBound)
+ {
+ if (value < lowerBound
+ || value > upperBound)
+ throw new IllegalArgumentException("value not in range");
+
+ this.value = value;
+ }
+
+ /**
+ * Returns the value of this object.
+ *
+ * @return the value
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof IntegerSyntax))
+ return false;
+
+ return value == ((IntegerSyntax) obj).getValue();
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return value;
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ return "" + value;
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/PrintJobAttribute.java b/libjava/classpath/javax/print/attribute/PrintJobAttribute.java
new file mode 100644
index 0000000..ba3a737
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/PrintJobAttribute.java
@@ -0,0 +1,45 @@
+/* PrintJobAttribute.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface PrintJobAttribute extends Attribute
+{
+}
diff --git a/libjava/classpath/javax/print/attribute/PrintJobAttributeSet.java b/libjava/classpath/javax/print/attribute/PrintJobAttributeSet.java
new file mode 100644
index 0000000..905d53c
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/PrintJobAttributeSet.java
@@ -0,0 +1,55 @@
+/* PrintJobAttributeSet.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface PrintJobAttributeSet extends AttributeSet
+{
+ /**
+ * Adds the specified attribute value to this attribute set
+ * if it is not already present.
+ */
+ boolean add (Attribute attribute);
+
+ /**
+ * Adds all of the elements in the specified set to this attribute.
+ */
+ boolean addAll (AttributeSet attributes);
+}
diff --git a/libjava/classpath/javax/print/attribute/PrintRequestAttribute.java b/libjava/classpath/javax/print/attribute/PrintRequestAttribute.java
new file mode 100644
index 0000000..7563500
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/PrintRequestAttribute.java
@@ -0,0 +1,45 @@
+/* PrintRequestAttribute.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface PrintRequestAttribute extends Attribute
+{
+}
diff --git a/libjava/classpath/javax/print/attribute/PrintRequestAttributeSet.java b/libjava/classpath/javax/print/attribute/PrintRequestAttributeSet.java
new file mode 100644
index 0000000..d72d2d7
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/PrintRequestAttributeSet.java
@@ -0,0 +1,55 @@
+/* PrintRequestAttributeSet.java --
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface PrintRequestAttributeSet extends AttributeSet
+{
+ /**
+ * Adds the specified attribute value to this attribute set
+ * if it is not already present.
+ */
+ boolean add (Attribute attribute);
+
+ /**
+ * Adds all of the elements in the specified set to this attribute.
+ */
+ boolean addAll (AttributeSet attributes);
+}
diff --git a/libjava/classpath/javax/print/attribute/PrintServiceAttribute.java b/libjava/classpath/javax/print/attribute/PrintServiceAttribute.java
new file mode 100644
index 0000000..3cf8825
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/PrintServiceAttribute.java
@@ -0,0 +1,45 @@
+/* PrintServiceAttribute.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface PrintServiceAttribute extends Attribute
+{
+}
diff --git a/libjava/classpath/javax/print/attribute/PrintServiceAttributeSet.java b/libjava/classpath/javax/print/attribute/PrintServiceAttributeSet.java
new file mode 100644
index 0000000..d67c9af
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/PrintServiceAttributeSet.java
@@ -0,0 +1,55 @@
+/* PrintServiceAttributeSet.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface PrintServiceAttributeSet extends AttributeSet
+{
+ /**
+ * Adds the specified attribute value to this attribute set
+ * if it is not already present.
+ */
+ boolean add (Attribute attribute);
+
+ /**
+ * Adds all of the elements in the specified set to this attribute.
+ */
+ boolean addAll (AttributeSet attributes);
+}
diff --git a/libjava/classpath/javax/print/attribute/ResolutionSyntax.java b/libjava/classpath/javax/print/attribute/ResolutionSyntax.java
new file mode 100644
index 0000000..a7878c5
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/ResolutionSyntax.java
@@ -0,0 +1,218 @@
+/* ResolutionSyntax.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class ResolutionSyntax
+ implements Cloneable, Serializable
+{
+ private static final long serialVersionUID = 2706743076526672017L;
+
+ /**
+ * Constant for units of dots per centimeter.
+ */
+ public static final int DPCM = 254;
+
+ /**
+ * Constant for units of dots per inch
+ */
+ public static final int DPI = 100;
+
+ private int crossFeedResolution;
+ private int feedResolution;
+
+ /**
+ * Creates a <code>ResolutionSyntax</code> object with the given arguments.
+ *
+ * @param crossFeedResolution the cross feed resolution
+ * @param feedResolution the feed resolution
+ * @param units the unit to use
+ *
+ * @exception IllegalArgumentException if preconditions fail
+ */
+ public ResolutionSyntax(int crossFeedResolution, int feedResolution,
+ int units)
+ {
+ if (crossFeedResolution < 1
+ || feedResolution < 1
+ || units < 1)
+ throw new IllegalArgumentException("no argument may be less than 1");
+
+ this.crossFeedResolution = crossFeedResolution * units;
+ this.feedResolution = feedResolution * units;
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof ResolutionSyntax))
+ return false;
+
+ ResolutionSyntax tmp = (ResolutionSyntax) obj;
+
+ return (crossFeedResolution == tmp.getCrossFeedResolutionDphi()
+ && feedResolution == tmp.getFeedResolutionDphi());
+ }
+
+ /**
+ * Returns the cross feed resolution in units.
+ *
+ * @return the resolution
+ *
+ * @exception IllegalArgumentException if units < 1
+ */
+ public int getCrossFeedResolution(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException("units may not be less then 1");
+
+ return (crossFeedResolution + units) / units;
+ }
+
+ /**
+ * Returns the raw cross feed resolution in units.
+ *
+ * @return the raw resolution
+ */
+ protected int getCrossFeedResolutionDphi()
+ {
+ return crossFeedResolution;
+ }
+
+ /**
+ * Returns the feed resolution in units.
+ *
+ * @return the resolution
+ *
+ * @exception IllegalArgumentException if units < 1
+ */
+ public int getFeedResolution(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException("units may not be less then 1");
+
+ return (crossFeedResolution + units) / units;
+ }
+
+ /**
+ * Returns the raw feed resolution in units.
+ *
+ * @return the raw resolution
+ */
+ protected int getFeedResolutionDphi()
+ {
+ return feedResolution;
+ }
+
+ /**
+ * Returns the resolution as two field array. Index 0 is the cross feed
+ * resolution, index 1 the feed resolution.
+ *
+ * @param units the units to use
+ *
+ * @return the array with the resolutions
+ */
+ public int[] getResolution(int units)
+ {
+ int[] resolution = new int[2];
+ resolution[0] = getCrossFeedResolution(units);
+ resolution[1] = getFeedResolution(units);
+ return resolution;
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return crossFeedResolution + feedResolution;
+ }
+
+ /**
+ * Checks of other is a lower or equal resolution.
+ *
+ * @param other the resolution to check against
+ *
+ * @return true if other describes a lower or equal resolution
+ */
+ public boolean lessThanOrEquals(ResolutionSyntax other)
+ {
+ if (other == null)
+ throw new NullPointerException("other may not be null");
+
+ return (crossFeedResolution <= other.getCrossFeedResolutionDphi()
+ && feedResolution <= other.getFeedResolutionDphi());
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ return toString(1, "dphi");
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @param units the units to use
+ * @param unitsName the name of the units
+ *
+ * @return the string representation
+ */
+ public String toString(int units, String unitsName)
+ {
+ return ("" + getCrossFeedResolution(units)
+ + "x" + getFeedResolution(units)
+ + " " + unitsName);
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/SetOfIntegerSyntax.java b/libjava/classpath/javax/print/attribute/SetOfIntegerSyntax.java
new file mode 100644
index 0000000..d73b867
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/SetOfIntegerSyntax.java
@@ -0,0 +1,253 @@
+/* SetOfIntegerSyntax.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+import java.util.Vector;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class SetOfIntegerSyntax
+ implements Cloneable, Serializable
+{
+ private static final long serialVersionUID = 3666874174847632203L;
+
+ private int[][] members;
+
+ private static int[][] normalize(Vector vecMembers)
+ {
+ // XXX: Perhaps we should merge ranges that overlap.
+
+ int current = 0;
+ int[][] members = new int[vecMembers.size()][];
+
+ while (vecMembers.size() > 0)
+ {
+ // Search the lowest range.
+ int[] range = (int[]) vecMembers.elementAt(0);
+
+ for (int index = 1; index < vecMembers.size(); index++)
+ {
+ int[] tmp = (int[]) vecMembers.elementAt(index);
+
+ if (range[0] > tmp[0]
+ || (range[0] == tmp[0]
+ && range[0] > tmp[0]))
+ range = tmp;
+ }
+
+ members[current] = range;
+ current++;
+ }
+
+ return members;
+ }
+
+ /**
+ * Creates a <code>SetOfIntegerSyntax</code> object.
+ *
+ * @param member the member value
+ *
+ * @exception IllegalArgumentException if member is < 0
+ */
+ protected SetOfIntegerSyntax(int member)
+ {
+ if (member < 0)
+ throw new IllegalArgumentException("member may not be less than 0");
+
+ this.members = new int[][]{{member, member}};
+ }
+
+ /**
+ * Creates a <code>SetOfIntegerSyntax</code> object.
+ *
+ * @param members the members to use in this set
+ *
+ * @exception IllegalArgumentException if any element is invalid
+ * @exception NullPointerException if any element of members is null
+ */
+ protected SetOfIntegerSyntax(int[][] members)
+ {
+ Vector vecMembers = new Vector();
+
+ if (members != null)
+ {
+ for (int index = 0; index < members.length; index++)
+ {
+ int lower;
+ int upper;
+
+ if (members[index].length == 1)
+ {
+ lower = members[index][0];
+ upper = members[index][0];
+ }
+ else if (members[index].length == 2)
+ {
+ lower = members[index][0];
+ upper = members[index][1];
+ }
+ else
+ throw new IllegalArgumentException("invalid member element");
+
+ if (lower <= upper && lower < 0)
+ throw new IllegalArgumentException("invalid member element");
+
+ if (lower <= upper)
+ {
+ int[] range = new int[2];
+ range[0] = lower;
+ range[1] = upper;
+ vecMembers.add(range);
+ }
+ }
+ }
+
+ this.members = normalize(vecMembers);
+ }
+
+ /**
+ * Creates a <code>SetOfIntegerSyntax</code> object.
+ *
+ * @param lowerBound the lower bound value
+ * @param upperBound the upper bound value
+ *
+ * @exception IllegalArgumentException if lowerBound &lt;= upperbound
+ * and lowerBound &lt; 0
+ */
+ protected SetOfIntegerSyntax(int lowerBound, int upperBound)
+ {
+ if (lowerBound <= upperBound
+ && lowerBound < 0)
+ throw new IllegalArgumentException();
+
+ members = (lowerBound <= upperBound ? new int[][]{{lowerBound, upperBound}}
+ : new int[0][]);
+ }
+
+ /**
+ * Checks if this set contains value.
+ *
+ * @param value the value to test for
+ *
+ * @return true if this set contains value, false otherwise
+ */
+ public boolean contains(int value)
+ {
+ // This only works on a normalized member array.
+ for (int index = 0; index < members.length; index++)
+ {
+ if (value < members[index][0])
+ return false;
+ else if (value < members[index][1])
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * Checks if this set contains value.
+ *
+ * @param value the value to test for
+ *
+ * @return true if this set contains value, false otherwise
+ */
+ public boolean contains(IntegerSyntax value)
+ {
+ return contains(value.getValue());
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof SetOfIntegerSyntax))
+ return false;
+
+ throw new Error("not implemented");
+ }
+
+ /**
+ * Returns an array describing the members included in this set.
+ *
+ * @return the array with the members
+ */
+ public int[][] getMembers()
+ {
+ throw new Error("not implemented");
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ throw new Error("not implemented");
+ }
+
+ /**
+ * Returns the smallest value that is greater then x.
+ *
+ * @param x an integer value
+ *
+ * @return the next value
+ */
+ public int next(int x)
+ {
+ throw new Error("not implemented");
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ throw new Error("not implemented");
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/Size2DSyntax.java b/libjava/classpath/javax/print/attribute/Size2DSyntax.java
new file mode 100644
index 0000000..c8d6ec7
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/Size2DSyntax.java
@@ -0,0 +1,225 @@
+/* Size2DSyntax.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class Size2DSyntax implements Cloneable, Serializable
+{
+ /**
+ * Constant for units of dots per mircometer to describe an inch.
+ */
+ public static final int INCH = 25400;
+
+ /**
+ * Constant for units of dots per mircometer to describe a centimeter.
+ */
+ public static final int MM = 1000;
+
+ private int x;
+ private int y;
+
+ /**
+ * Creates a <code>Size2DSyntax</code> object with the given arguments.
+ *
+ * @param x the size in x direction
+ * @param y the size in y direction
+ * @param units the units to use for the sizes
+ *
+ * @exception IllegalArgumentException if preconditions fail
+ */
+ protected Size2DSyntax(float x, float y, int units)
+ {
+ if (x < 0.0f || y < 0.0f)
+ throw new IllegalArgumentException("x and/or y may not be less than 0");
+
+ if (units < 1)
+ throw new IllegalArgumentException("units may not be less then 1");
+
+ this.x = (int) (x * units + 0.5f);
+ this.y = (int) (y * units + 0.5f);
+ }
+
+ /**
+ * Creates a <code>Size2DSyntax</code> object with the given arguments.
+ *
+ * @param x the size in x direction
+ * @param y the size in y direction
+ * @param units the units to use for the sizes
+ *
+ * @exception IllegalArgumentException if preconditions fail
+ */
+ protected Size2DSyntax(int x, int y, int units)
+ {
+ if (x < 0 || y < 0)
+ throw new IllegalArgumentException("x and/or y may not be less then 0");
+
+ if (units < 1)
+ throw new IllegalArgumentException("units may not be less then 1");
+
+ this.x = x * units;
+ this.y = y * units;
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @returns true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof Size2DSyntax))
+ return false;
+
+ Size2DSyntax tmp = (Size2DSyntax) obj;
+
+ return (x == tmp.getXMicrometers()
+ && y == tmp.getYMicrometers());
+ }
+
+ /**
+ * Return the size described in this object as a two field array.
+ * Index 0 contains the size in x direction, index 1 the size in
+ * y direction.
+ *
+ * @param units the units to use
+ *
+ * @return the array that describes the size
+ *
+ * @exception IllegalArgumentException if units < 1
+ */
+ public float[] getSize(int units)
+ {
+ float[] size = new float[2];
+ size[0] = getX(units);
+ size[1] = getY(units);
+ return size;
+ }
+
+ /**
+ * Return the size in x direction.
+ *
+ * @param units the units to use
+ *
+ * @return the size value
+ *
+ * @exception IllegalArgumentException if units < 1
+ */
+ public float getX(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException("units may not be less then 1");
+
+ return ((float) x) / ((float) units);
+ }
+
+ /**
+ * Returns the size in x direction in mircometers.
+ *
+ * @return the size value
+ */
+ protected int getXMicrometers()
+ {
+ return x;
+ }
+
+ /**
+ * Return the size in y direction.
+ *
+ * @param units the units to use
+ *
+ * @return the size value
+ *
+ * @exception IllegalArgumentException if units < 1
+ */
+ public float getY(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException("units may not be less then 1");
+
+ return ((float) y) / ((float) units);
+ }
+
+ /**
+ * Returns the size in y direction in mircometers.
+ *
+ * @return the size value
+ */
+ protected int getYMicrometers()
+ {
+ return y;
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return x + y;
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ return toString(1, "um");
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @param units the units to use
+ * @param unitsName the name of the units
+ *
+ * @return the string representation
+ */
+ public String toString(int units, String unitsName)
+ {
+ return "" + getX(units) + "x" + getY(units) + " " + unitsName;
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/SupportedValuesAttribute.java b/libjava/classpath/javax/print/attribute/SupportedValuesAttribute.java
new file mode 100644
index 0000000..d0f4b65
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/SupportedValuesAttribute.java
@@ -0,0 +1,45 @@
+/* Attribute.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ */
+public interface SupportedValuesAttribute extends Attribute
+{
+}
diff --git a/libjava/classpath/javax/print/attribute/TextSyntax.java b/libjava/classpath/javax/print/attribute/TextSyntax.java
new file mode 100644
index 0000000..98fabdc
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/TextSyntax.java
@@ -0,0 +1,126 @@
+/* TextSyntax.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+import java.util.Locale;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class TextSyntax implements Cloneable, Serializable
+{
+ private static final long serialVersionUID = -8130648736378144102L;
+
+ private String value;
+ private Locale locale;
+
+ /**
+ * Creates a <code>TextSyntax</code> object with the given value
+ * and locale.
+ *
+ * @param value the value for this syntax
+ * @param locale the locale to use
+ *
+ * @exception NullPointerException if value and/or locale is null
+ */
+ protected TextSyntax(String value, Locale locale)
+ {
+ if (value == null || locale == null)
+ throw new NullPointerException("value and/or locale may not be null");
+
+ this.value = value;
+ this.locale = locale;
+ }
+
+ /**
+ * Returns the value of this syntax object.
+ *
+ * @return the value
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Returns the locale of this syntax object.
+ *
+ * @return the locale
+ */
+ public Locale getLocale()
+ {
+ return locale;
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return value.hashCode() ^ locale.hashCode();
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof TextSyntax))
+ return false;
+
+ TextSyntax tmp = (TextSyntax) obj;
+
+ return (value.equals(tmp.getValue())
+ && locale.equals(tmp.getLocale()));
+ }
+
+ /**
+ * Returns a string representing the object.
+ */
+ public String toString()
+ {
+ return getValue();
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/URISyntax.java b/libjava/classpath/javax/print/attribute/URISyntax.java
new file mode 100644
index 0000000..f0583f7
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/URISyntax.java
@@ -0,0 +1,112 @@
+/* URISyntax.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+import java.io.Serializable;
+import java.net.URI;
+
+/**
+ * @author Michael Koch
+ */
+public abstract class URISyntax
+ implements Cloneable, Serializable
+{
+ private static final long serialVersionUID = -7842661210486401678L;
+
+ private URI uri;
+
+ /**
+ * Creates a <code>URISyntax</code> object.
+ *
+ * @param uri the URI value for the syntax
+ *
+ * @exception NullPointerException if uri is null
+ */
+ protected URISyntax(URI uri)
+ {
+ if (uri == null)
+ throw new NullPointerException("uri may not be null");
+
+ this.uri = uri;
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @returns true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if (! (obj instanceof URISyntax))
+ return false;
+
+ return uri.equals(((URISyntax) obj).getURI());
+ }
+
+ /**
+ * Returns the URI value of this syntax object.
+ *
+ * @return the URI
+ */
+ public URI getURI()
+ {
+ return uri;
+ }
+
+ /**
+ * Returns the hashcode for this object.
+ *
+ * @return the hashcode
+ */
+ public int hashCode()
+ {
+ return uri.hashCode();
+ }
+
+ /**
+ * Returns the string representation for this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ return uri.toString();
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/UnmodifiableSetException.java b/libjava/classpath/javax/print/attribute/UnmodifiableSetException.java
new file mode 100644
index 0000000..6785317
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/UnmodifiableSetException.java
@@ -0,0 +1,65 @@
+/* Attribute.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute;
+
+/**
+ * @author Michael Koch
+ *
+ * @since 1.4
+ */
+public class UnmodifiableSetException extends RuntimeException
+{
+ /**
+ * Creates a <code>UnmodifiableSetException</code>.
+ */
+ public UnmodifiableSetException()
+ {
+ super();
+ }
+
+ /**
+ * Creates a <code>UnmodifiableSetException</code>
+ * with the given message.
+ *
+ * @param message the message for the exception
+ */
+ public UnmodifiableSetException(String message)
+ {
+ super(message);
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/package.html b/libjava/classpath/javax/print/attribute/package.html
new file mode 100644
index 0000000..ba67d1a
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.print.attribute package.
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.print.attribute</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>
diff --git a/libjava/classpath/javax/print/attribute/standard/Chromaticity.java b/libjava/classpath/javax/print/attribute/standard/Chromaticity.java
new file mode 100644
index 0000000..3d336a4
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Chromaticity.java
@@ -0,0 +1,86 @@
+/* Chromaticity.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class Chromaticity extends EnumSyntax
+ implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
+{
+ private static final long serialVersionUID = 4660543931355214012L;
+
+ public static final Chromaticity MONOCHROME = new Chromaticity(0);
+ public static final Chromaticity COLOR = new Chromaticity(1);
+
+ /**
+ * Creates a <code>Chromaticity</code> object.
+ *
+ * @param value the enum value
+ */
+ protected Chromaticity(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Sides</code> itself
+ */
+ public Class getCategory()
+ {
+ return Chromaticity.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "chromaticity";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/ColorSupported.java b/libjava/classpath/javax/print/attribute/standard/ColorSupported.java
new file mode 100644
index 0000000..fad7ced
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/ColorSupported.java
@@ -0,0 +1,84 @@
+/* ColorSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintServiceAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class ColorSupported extends EnumSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -2700555589688535545L;
+
+ public static final ColorSupported NOT_SUPPORTED = new ColorSupported(0);
+ public static final ColorSupported SUPPORTED = new ColorSupported(1);
+
+ /**
+ * Constructs a <code>ColorSupported</code> object.
+ *
+ * @param value the value
+ */
+ protected ColorSupported(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>ColorSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return ColorSupported.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "color-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Compression.java b/libjava/classpath/javax/print/attribute/standard/Compression.java
new file mode 100644
index 0000000..112202a
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Compression.java
@@ -0,0 +1,86 @@
+/* Compression.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class Compression extends EnumSyntax
+ implements DocAttribute
+{
+ private static final long serialVersionUID = -5716748913324997674L;
+
+ public static final Compression NONE = new Compression(0);
+ public static final Compression DEFLATE = new Compression(1);
+ public static final Compression GZIP = new Compression(2);
+ public static final Compression COMPRESS = new Compression(3);
+
+ /**
+ * Constructs a <code>Compression</code> object.
+ *
+ * @param value that value
+ */
+ protected Compression(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Compression</code> itself
+ */
+ public Class getCategory()
+ {
+ return Compression.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "compression";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Copies.java b/libjava/classpath/javax/print/attribute/standard/Copies.java
new file mode 100644
index 0000000..7c5fdff
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Copies.java
@@ -0,0 +1,101 @@
+/* Copies.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class Copies extends IntegerSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -6426631521680023833L;
+
+ /**
+ * Creates a <code>Copies</code> object.
+ *
+ * @param value the number of copies
+ *
+ * @exception IllegalArgumentException if value < 1
+ */
+ public Copies(int value)
+ {
+ super(value);
+
+ if (value < 1)
+ throw new IllegalArgumentException("value may not be less than 1");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof Copies))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Copies</code> itself
+ */
+ public Class getCategory()
+ {
+ return Copies.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "copies"
+ */
+ public String getName()
+ {
+ return "copies";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java b/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java
new file mode 100644
index 0000000..8062ebc
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java
@@ -0,0 +1,87 @@
+/* CopiesSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.SetOfIntegerSyntax;
+import javax.print.attribute.SupportedValuesAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class CopiesSupported extends SetOfIntegerSyntax
+ implements SupportedValuesAttribute
+{
+ private static final long serialVersionUID = 6927711687034846001L;
+
+ /**
+ * Constructs a <code>CopiesSupported</code> object.
+ */
+ public CopiesSupported(int member)
+ {
+ super(member);
+ }
+
+ /**
+ * Constructs a <code>CopiesSupported</code> object.
+ */
+ public CopiesSupported(int lowerBound, int upperBound)
+ {
+ super(lowerBound, upperBound);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>CopiesSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return CopiesSupported.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "copies-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java
new file mode 100644
index 0000000..fbb9e08
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java
@@ -0,0 +1,100 @@
+/* DateTimeAtCompleted.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Date;
+
+import javax.print.attribute.DateTimeSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class DateTimeAtCompleted extends DateTimeSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 6497399708058490000L;
+
+ /**
+ * Creates a <code>DateTimeAtCompleted</code> object.
+ *
+ * @param value the date at completion time
+ *
+ * @exception NullPointerException if value is null
+ */
+ public DateTimeAtCompleted(Date value)
+ {
+ super(value);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof DateTimeAtCompleted))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>DateTimeAtCompleted</code> itself
+ */
+ public Class getCategory()
+ {
+ return DateTimeAtCompleted.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "date-time-at-completed"
+ */
+ public String getName()
+ {
+ return "date-time-at-completed";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java
new file mode 100644
index 0000000..b98af57
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java
@@ -0,0 +1,100 @@
+/* DateTimeAtCreation.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Date;
+
+import javax.print.attribute.DateTimeSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class DateTimeAtCreation extends DateTimeSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = -2923732231056647903L;
+
+ /**
+ * Creates a <code>DateTimeAtCreation</code> object.
+ *
+ * @param value the date at creation time
+ *
+ * @exception NullPointerException if value is null
+ */
+ public DateTimeAtCreation(Date value)
+ {
+ super(value);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof DateTimeAtCreation))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>DateTimeAtCreation</code> itself
+ */
+ public Class getCategory()
+ {
+ return DateTimeAtCreation.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "date-time-at-creation"
+ */
+ public String getName()
+ {
+ return "date-time-at-creation";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java
new file mode 100644
index 0000000..ff537b9
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java
@@ -0,0 +1,100 @@
+/* DateTimeAtProcessing.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Date;
+
+import javax.print.attribute.DateTimeSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class DateTimeAtProcessing extends DateTimeSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = -3710068197278263244L;
+
+ /**
+ * Creates a <code>DateTimeAtProcessing</code> object.
+ *
+ * @param value the date at processing time
+ *
+ * @exception NullPointerException if value is null
+ */
+ public DateTimeAtProcessing(Date value)
+ {
+ super(value);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof DateTimeAtProcessing))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>DateTimeAtProcessing</code> itself
+ */
+ public Class getCategory()
+ {
+ return DateTimeAtProcessing.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "date-time-at-processing"
+ */
+ public String getName()
+ {
+ return "date-time-at-processing";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Destination.java b/libjava/classpath/javax/print/attribute/standard/Destination.java
new file mode 100644
index 0000000..c2da199
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Destination.java
@@ -0,0 +1,82 @@
+/* Destination.java --
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.net.URI;
+
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+import javax.print.attribute.URISyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class Destination extends URISyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = 6776739171700415321L;
+
+ /**
+ * Constructs a <code>Destination</code> object.
+ */
+ public Destination(URI uri)
+ {
+ super(uri);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Destination</code> itself
+ */
+ public Class getCategory()
+ {
+ return Destination.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-uri"
+ */
+ public String getName()
+ {
+ return "destination";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/DocumentName.java b/libjava/classpath/javax/print/attribute/standard/DocumentName.java
new file mode 100644
index 0000000..2c472aa
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/DocumentName.java
@@ -0,0 +1,100 @@
+/* DocumentName.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class DocumentName extends TextSyntax
+ implements DocAttribute
+{
+ private static final long serialVersionUID = 7883105848533280430L;
+
+ /**
+ * Creates a <code>DocumentName</code> object.
+ *
+ * @param documentName the document name
+ *
+ * @exception NullPointerException if documentName is null
+ */
+ public DocumentName(String documentName, Locale locale)
+ {
+ super(documentName, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof DocumentName))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>DocumentName</code> itself
+ */
+ public Class getCategory()
+ {
+ return DocumentName.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "document-name"
+ */
+ public String getName()
+ {
+ return "document-name";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Fidelity.java b/libjava/classpath/javax/print/attribute/standard/Fidelity.java
new file mode 100644
index 0000000..9b26906
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Fidelity.java
@@ -0,0 +1,85 @@
+/* Fidelity.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class Fidelity extends EnumSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = 6320827847329172308L;
+
+ public static final Fidelity FIDELITY_TRUE = new Fidelity(0);
+ public static final Fidelity FIDELITY_FALSE = new Fidelity(1);
+
+ /**
+ * Constructs a <code>Fidelity</code> object.
+ *
+ * @param value the value
+ */
+ protected Fidelity(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Fidelity</code> itself
+ */
+ public Class getCategory()
+ {
+ return Fidelity.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "fidelity";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Finishings.java b/libjava/classpath/javax/print/attribute/standard/Finishings.java
new file mode 100644
index 0000000..1224c1d
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Finishings.java
@@ -0,0 +1,102 @@
+/* Finishings.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class Finishings extends EnumSyntax
+ implements DocAttribute, PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -627840419548391754L;
+
+ public static final Finishings NONE = new Finishings(0);
+ public static final Finishings STAPLE = new Finishings(1);
+ public static final Finishings COVER = new Finishings(2);
+ public static final Finishings BIND = new Finishings(3);
+ public static final Finishings SADDLE_STITCH = new Finishings(4);
+ public static final Finishings EDGE_STITCH = new Finishings(5);
+ public static final Finishings STAPLE_TOP_LEFT = new Finishings(6);
+ public static final Finishings STAPLE_BOTTOM_LEFT = new Finishings(7);
+ public static final Finishings STAPLE_TOP_RIGHT = new Finishings(8);
+ public static final Finishings STAPLE_BOTTOM_RIGHT = new Finishings(9);
+ public static final Finishings EDGE_STITCH_LEFT = new Finishings(10);
+ public static final Finishings EDGE_STITCH_TOP = new Finishings(11);
+ public static final Finishings EDGE_STITCH_RIGHT = new Finishings(12);
+ public static final Finishings EDGE_STITCH_BOTTOM = new Finishings(13);
+ public static final Finishings STAPLE_DUAL_LEFT = new Finishings(14);
+ public static final Finishings STAPLE_DUAL_TOP = new Finishings(15);
+ public static final Finishings STAPLE_DUAL_RIGHT = new Finishings(16);
+ public static final Finishings STAPLE_DUAL_BOTTOM = new Finishings(17);
+
+ /**
+ * Constructs a <code>Finishings</code> object.
+ *
+ * @param value the value
+ */
+ protected Finishings(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Finishings</code> itself
+ */
+ public Class getCategory()
+ {
+ return Finishings.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "finishings";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java b/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java
new file mode 100644
index 0000000..5f05463
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java
@@ -0,0 +1,101 @@
+/* JobHoldUntil.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Date;
+
+import javax.print.attribute.DateTimeSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobHoldUntil extends DateTimeSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -1664471048860415024L;
+
+ /**
+ * Creates a <code>JobHoldUntil</code> object.
+ *
+ * @param value the date to hold the job until
+ *
+ * @exception NullPointerException if value is null
+ */
+ public JobHoldUntil(Date value)
+ {
+ super(value);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobHoldUntil))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobHoldUntil</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobHoldUntil.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-hold-until"
+ */
+ public String getName()
+ {
+ return "job-hold-until";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressions.java b/libjava/classpath/javax/print/attribute/standard/JobImpressions.java
new file mode 100644
index 0000000..a29c24c
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobImpressions.java
@@ -0,0 +1,101 @@
+/* JobImpressions.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class JobImpressions extends IntegerSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = 8225537206784322464L;
+
+ /**
+ * Creates a <code>JobImpressions</code> object.
+ *
+ * @param value the number of impressions
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public JobImpressions(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobImpressions))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobImpressions</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobImpressions.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-impressions"
+ */
+ public String getName()
+ {
+ return "job-impressions";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java b/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java
new file mode 100644
index 0000000..d1b3e96
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java
@@ -0,0 +1,100 @@
+/* JobImpressionsCompleted.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobImpressionsCompleted extends IntegerSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 6722648442432393294L;
+
+ /**
+ * Creates a <code>JobImpressionsCompleted</code> object.
+ *
+ * @param value the number of completed impressions
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public JobImpressionsCompleted(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobImpressionsCompleted))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobImpressionsCompleted</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobImpressionsCompleted.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-impressions-completed"
+ */
+ public String getName()
+ {
+ return "job-impressions";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java
new file mode 100644
index 0000000..0ba7089
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java
@@ -0,0 +1,79 @@
+/* JobImpressionsSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.SetOfIntegerSyntax;
+import javax.print.attribute.SupportedValuesAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobImpressionsSupported extends SetOfIntegerSyntax
+ implements SupportedValuesAttribute
+{
+ private static final long serialVersionUID = -4887354803843173692L;
+
+ /**
+ * Constructs a <code>JobImpressionsSupported</code> object.
+ */
+ public JobImpressionsSupported(int lowerBound, int upperBound)
+ {
+ super(lowerBound, upperBound);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobImpressionsSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobImpressionsSupported.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "job-impressions-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctets.java b/libjava/classpath/javax/print/attribute/standard/JobKOctets.java
new file mode 100644
index 0000000..71f02c5
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobKOctets.java
@@ -0,0 +1,101 @@
+/* JobKOctets.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class JobKOctets extends IntegerSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -8959710146498202869L;
+
+ /**
+ * Creates a <code>JobKOctets</code> object.
+ *
+ * @param value the number of K octets
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public JobKOctets(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobKOctets))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobKOctets</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobKOctets.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-k-octets"
+ */
+ public String getName()
+ {
+ return "job-k-octets";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java b/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java
new file mode 100644
index 0000000..7561222
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java
@@ -0,0 +1,100 @@
+/* JobKOctetsProcessed.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class JobKOctetsProcessed extends IntegerSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = -6265238509657881806L;
+
+ /**
+ * Creates a <code>JobKOctetsProcessed</code> object.
+ *
+ * @param value the number of processed K octets
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public JobKOctetsProcessed(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobKOctetsProcessed))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobKOctetsProcessed</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobKOctetsProcessed.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-k-octets-processed"
+ */
+ public String getName()
+ {
+ return "job-k-octets-processed";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java
new file mode 100644
index 0000000..303dc95
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java
@@ -0,0 +1,79 @@
+/* JobKOctetsSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.SetOfIntegerSyntax;
+import javax.print.attribute.SupportedValuesAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobKOctetsSupported extends SetOfIntegerSyntax
+ implements SupportedValuesAttribute
+{
+ private static final long serialVersionUID = -2867871140549897443L;
+
+ /**
+ * Constructs a <code>JobKOctetsSupported</code> object.
+ */
+ public JobKOctetsSupported(int lowerBound, int upperBound)
+ {
+ super(lowerBound, upperBound);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>ColorSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobKOctetsSupported.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "job-k-octets-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java
new file mode 100644
index 0000000..662c54a
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java
@@ -0,0 +1,101 @@
+/* JobMediaSheets.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public class JobMediaSheets extends IntegerSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = 408871131531979741L;
+
+ /**
+ * Creates a <code>JobMediaSheets</code> object.
+ *
+ * @param value the number of media sheets for a print job
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public JobMediaSheets(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobMediaSheets))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobMediaSheets</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobMediaSheets.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-media-sheets"
+ */
+ public String getName()
+ {
+ return "job-media-sheets";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java
new file mode 100644
index 0000000..09b82bf
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java
@@ -0,0 +1,100 @@
+/* JobMediaSheetsCompleted.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class JobMediaSheetsCompleted extends IntegerSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 1739595973810840475L;
+
+ /**
+ * Creates a <code>JobMediaSheetsCompleted</code> object.
+ *
+ * @param value the number of completed media sheets for a print job
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public JobMediaSheetsCompleted(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobMediaSheetsCompleted))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobMediaSheetsCompleted</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobMediaSheetsCompleted.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-media-sheets-completed"
+ */
+ public String getName()
+ {
+ return "job-media-sheets-completed";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java
new file mode 100644
index 0000000..392fe7e
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java
@@ -0,0 +1,79 @@
+/* JobMediaSheetsSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.SetOfIntegerSyntax;
+import javax.print.attribute.SupportedValuesAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobMediaSheetsSupported extends SetOfIntegerSyntax
+ implements SupportedValuesAttribute
+{
+ private static final long serialVersionUID = 2953685470388672940L;
+
+ /**
+ * Constructs a <code>JobMediaSheetsSupported</code> object.
+ */
+ public JobMediaSheetsSupported(int lowerBound, int upperBound)
+ {
+ super(lowerBound, upperBound);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobMediaSheetsSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobMediaSheetsSupported.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "job-media-sheets-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java b/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java
new file mode 100644
index 0000000..84eab8b
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java
@@ -0,0 +1,100 @@
+/* JobMessageFromOperator.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobMessageFromOperator extends TextSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = -4620751846003142047L;
+
+ /**
+ * Creates a <code>JobMessageFromOperator</code> object.
+ *
+ * @param message the message
+ *
+ * @exception NullPointerException if message is null
+ */
+ public JobMessageFromOperator(String message, Locale locale)
+ {
+ super(message, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobMessageFromOperator))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobMessageFromOperator</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobMessageFromOperator.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-message-from-operator"
+ */
+ public String getName()
+ {
+ return "job-message-from-operator";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobName.java b/libjava/classpath/javax/print/attribute/standard/JobName.java
new file mode 100644
index 0000000..a64a88c
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobName.java
@@ -0,0 +1,101 @@
+/* JobName.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobName extends TextSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = 4660359192078689545L;
+
+ /**
+ * Creates a <code>JobName</code> object.
+ *
+ * @param jobName the job name
+ *
+ * @exception NullPointerException if jobName is null
+ */
+ public JobName(String jobName, Locale locale)
+ {
+ super(jobName, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobName))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobName</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobName.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-name"
+ */
+ public String getName()
+ {
+ return "job-name";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java b/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java
new file mode 100644
index 0000000..116de28
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java
@@ -0,0 +1,100 @@
+/* JobOriginatingUserName.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobOriginatingUserName extends TextSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = -8052537926362933477L;
+
+ /**
+ * Creates a <code>JobOriginatingUserName</code> object.
+ *
+ * @param userName the user name
+ *
+ * @exception NullPointerException if userName is null
+ */
+ public JobOriginatingUserName(String userName, Locale locale)
+ {
+ super(userName, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobOriginatingUserName))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobOriginatingUserName</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobOriginatingUserName.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-originating-user-name"
+ */
+ public String getName()
+ {
+ return "job-originating-user-name";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobPriority.java b/libjava/classpath/javax/print/attribute/standard/JobPriority.java
new file mode 100644
index 0000000..6c88dfc
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobPriority.java
@@ -0,0 +1,102 @@
+/* JobPriority.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobPriority extends IntegerSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -4599900369040602769L;
+
+ /**
+ * Creates a <code>JobPriority</code> object.
+ *
+ * @param value the priority
+ *
+ * @exception IllegalArgumentException if value < 1 or value > 100
+ */
+ public JobPriority(int value)
+ {
+ super(value);
+
+ if (value < 1 || value > 100)
+ throw new IllegalArgumentException("value out of range");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobPriority))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobPriority</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobPriority.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-priority"
+ */
+ public String getName()
+ {
+ return "job-priority";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java b/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java
new file mode 100644
index 0000000..fdfe6c7c
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java
@@ -0,0 +1,101 @@
+/* JobPrioritySupported.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.SupportedValuesAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobPrioritySupported extends IntegerSyntax
+ implements SupportedValuesAttribute
+{
+ private static final long serialVersionUID = 2564840378013555894L;
+
+ /**
+ * Creates a <code>JobPrioritySupported</code> object.
+ *
+ * @param value the priority
+ *
+ * @exception IllegalArgumentException if value < 1 or value > 100
+ */
+ public JobPrioritySupported(int value)
+ {
+ super(value);
+
+ if (value < 1 || value > 100)
+ throw new IllegalArgumentException("value out of range");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof JobPrioritySupported))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobPrioritySupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobPrioritySupported.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "job-priority-supported"
+ */
+ public String getName()
+ {
+ return "job-priority-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobSheets.java b/libjava/classpath/javax/print/attribute/standard/JobSheets.java
new file mode 100644
index 0000000..183aed2
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobSheets.java
@@ -0,0 +1,83 @@
+/* JobSheets.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class JobSheets extends EnumSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -4735258056132519759L;
+
+ public static final JobSheets NONE = new JobSheets(0);
+ public static final JobSheets STANDARD = new JobSheets(1);
+
+ /**
+ * Constructs a <code>JobSheets</code> object.
+ */
+ protected JobSheets(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobSheets</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobSheets.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "job-sheets";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobState.java b/libjava/classpath/javax/print/attribute/standard/JobState.java
new file mode 100644
index 0000000..1350e69
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobState.java
@@ -0,0 +1,88 @@
+/* JobState.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class JobState extends EnumSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 400465010094018920L;
+
+ public static final JobState UNKNOWN = new JobState(0);
+ public static final JobState PENDING = new JobState(1);
+ public static final JobState PENDING_HELD = new JobState(2);
+ public static final JobState PROCESSING = new JobState(3);
+ public static final JobState PROCESSING_STOPPED = new JobState(4);
+ public static final JobState CANCELED = new JobState(5);
+ public static final JobState ABORTED = new JobState(6);
+ public static final JobState COMPLETED = new JobState(7);
+
+ /**
+ * Constructs a <code>JobState</code> object.
+ */
+ protected JobState(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobState</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobState.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "job-state";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobStateReason.java b/libjava/classpath/javax/print/attribute/standard/JobStateReason.java
new file mode 100644
index 0000000..4a9f1a9
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobStateReason.java
@@ -0,0 +1,109 @@
+/* JobStateReason.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.Attribute;
+import javax.print.attribute.EnumSyntax;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class JobStateReason extends EnumSyntax
+ implements Attribute
+{
+ private static final long serialVersionUID = -8765894420449009168L;
+
+ public static final JobStateReason JOB_INCOMING = new JobStateReason(0);
+ public static final JobStateReason JOB_DATA_INSUFFICIENT = new JobStateReason(1);
+ public static final JobStateReason DOCUMENT_ACCESS_ERROR = new JobStateReason(2);
+ public static final JobStateReason SUBMISSION_INTERRUPTED = new JobStateReason(3);
+ public static final JobStateReason JOB_OUTGOING = new JobStateReason(4);
+ public static final JobStateReason JOB_HOLD_UNTIL_SPECIFIED = new JobStateReason(5);
+ public static final JobStateReason RESOURCES_ARE_NOT_READY = new JobStateReason(6);
+ public static final JobStateReason PRINTER_STOPPED_PARTLY = new JobStateReason(7);
+ public static final JobStateReason PRINTER_STOPPED = new JobStateReason(8);
+ public static final JobStateReason JOB_INTERPRETING = new JobStateReason(9);
+ public static final JobStateReason JOB_QUEUED = new JobStateReason(10);
+ public static final JobStateReason JOB_TRANSFORMING = new JobStateReason(11);
+ public static final JobStateReason JOB_QUEUED_FOR_MARKER = new JobStateReason(12);
+ public static final JobStateReason JOB_PRINTING = new JobStateReason(13);
+ public static final JobStateReason JOB_CANCELED_BY_USER = new JobStateReason(14);
+ public static final JobStateReason JOB_CANCELED_BY_OPERATOR = new JobStateReason(15);
+ public static final JobStateReason JOB_CANCELED_AT_DEVICE = new JobStateReason(16);
+ public static final JobStateReason ABORTED_BY_SYSTEM = new JobStateReason(17);
+ public static final JobStateReason UNSUPPORTED_COMPRESSION = new JobStateReason(18);
+ public static final JobStateReason COMPRESSION_ERROR = new JobStateReason(19);
+ public static final JobStateReason UNSUPPORTED_DOCUMENT_FORMAT = new JobStateReason(20);
+ public static final JobStateReason DOCUMENT_FORMAT_ERROR = new JobStateReason(21);
+ public static final JobStateReason PROCESSING_TO_STOP_POINT = new JobStateReason(22);
+ public static final JobStateReason SERVICE_OFF_LINE = new JobStateReason(23);
+ public static final JobStateReason JOB_COMPLETED_SUCCESSFULLY = new JobStateReason(24);
+ public static final JobStateReason JOB_COMPLETED_WITH_WARNINGS = new JobStateReason(25);
+ public static final JobStateReason JOB_COMPLETED_WITH_ERRORS = new JobStateReason(26);
+ public static final JobStateReason JOB_RESTARTABLE = new JobStateReason(27);
+ public static final JobStateReason QUEUED_IN_DEVICE = new JobStateReason(28);
+
+ /**
+ * Constructs a <code>JobStateReason</code> object.
+ */
+ protected JobStateReason(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>JobStateReason</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobStateReason.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "job-state-reason";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java b/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java
new file mode 100644
index 0000000..3918737
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java
@@ -0,0 +1,72 @@
+/* JobStateReasons.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.HashSet;
+
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class JobStateReasons extends HashSet
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 8849088261264331812L;
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>ColorSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return JobStateReasons.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "job-state-reasons";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Media.java b/libjava/classpath/javax/print/attribute/standard/Media.java
new file mode 100644
index 0000000..ebb15d0
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Media.java
@@ -0,0 +1,81 @@
+/* Media.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public abstract class Media extends EnumSyntax
+ implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
+{
+ private static final long serialVersionUID = -2823970704630722439L;
+
+ /**
+ * Constructs a <code>Media</code> object.
+ */
+ protected Media(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Media</code> itself
+ */
+ public Class getCategory()
+ {
+ return Media.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "media";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java b/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java
new file mode 100644
index 0000000..c7cf8d3
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java
@@ -0,0 +1,146 @@
+/* MediaPrintableArea.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class MediaPrintableArea
+ implements DocAttribute, PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -1597171464050795793L;
+
+ public static final int INCH = 25400;
+ public static final int MM = 1000;
+
+ private float x;
+ private float y;
+ private float width;
+ private float height;
+
+ /**
+ * Creates a new <code>MediaPrintableArea</code> object.
+ *
+ * @throws IllegalArgumentException if x i&lt; 0 or y i&lt; 0 or w i&lt;= 0
+ * or h i&lt;= 0 or units i&lt; 1
+ */
+ public MediaPrintableArea(float x, float y, float w, float h, int units)
+ {
+ if (x < 0.0f || y < 0.0f || w <= 0.0f || h <= 0.0f)
+ throw new IllegalArgumentException();
+
+ this.x = x;
+ this.y = y;
+ this.width = w;
+ this.height = h;
+ }
+
+ /**
+ * Creates a new <code>MediaPrintableArea</code> object.
+ *
+ * @throws IllegalArgumentException if x i&lt; 0 or y i&lt; 0 or w i&lt;= 0
+ * or h i&lt;= 0 or units i&lt; 1
+ */
+ public MediaPrintableArea(int x, int y, int w, int h, int units)
+ {
+ if (x < 0 || y < 0 || w <= 0 || h <= 0)
+ throw new IllegalArgumentException();
+
+ this.x = x;
+ this.y = y;
+ this.width = w;
+ this.height = h;
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>MediaPrintableArea</code> itself
+ */
+ public Class getCategory()
+ {
+ return MediaPrintableArea.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "media-printable-area"
+ */
+ public String getName()
+ {
+ return "media-printable-area";
+ }
+
+ public float getHeight(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException();
+
+ return height * units;
+ }
+
+ public float getWidth(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException();
+
+ return width * units;
+ }
+
+ public float getX(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException();
+
+ return x * units;
+ }
+
+ public float getY(int units)
+ {
+ if (units < 1)
+ throw new IllegalArgumentException();
+
+ return y * units;
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/MediaSize.java b/libjava/classpath/javax/print/attribute/standard/MediaSize.java
new file mode 100644
index 0000000..6abf979
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/MediaSize.java
@@ -0,0 +1,114 @@
+/* MediaSize.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.ArrayList;
+
+import javax.print.attribute.Attribute;
+import javax.print.attribute.Size2DSyntax;
+
+public class MediaSize extends Size2DSyntax
+ implements Attribute
+{
+ private static final long serialVersionUID = -1967958664615414771L;
+
+ private static ArrayList mediaCache = new ArrayList();
+
+ private MediaSizeName media;
+
+ public MediaSize(float x, float y, int units)
+ {
+ super(x, y, units);
+ }
+
+ public MediaSize(float x, float y, int units, MediaSizeName media)
+ {
+ super(x, y, units);
+ this.media = media;
+ }
+
+ public MediaSize(int x, int y, int units)
+ {
+ super(x, y, units);
+ }
+
+ public MediaSize(int x, int y, int units, MediaSizeName media)
+ {
+ super(x, y, units);
+ this.media = media;
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>MediaSize</code> itself
+ */
+ public Class getCategory()
+ {
+ return MediaSize.class;
+ }
+
+ public static MediaSize getMediaSizeForName(MediaSizeName media)
+ {
+ for (int i = 0; i < mediaCache.size(); i++)
+ {
+ MediaSize size = (MediaSize) mediaCache.get(i);
+
+ if (size.getMediaSizeName().equals(media))
+ return size;
+ }
+
+ return null;
+ }
+
+ public MediaSizeName getMediaSizeName()
+ {
+ return media;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "media-size"
+ */
+ public String getName()
+ {
+ return "media-size";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/MediaSizeName.java b/libjava/classpath/javax/print/attribute/standard/MediaSizeName.java
new file mode 100644
index 0000000..9990a2d
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/MediaSizeName.java
@@ -0,0 +1,135 @@
+/* MediaSizeName.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class MediaSizeName extends Media
+{
+ private static final long serialVersionUID = 2778798329756942747L;
+
+ public static final MediaSizeName ISO_A0 = new MediaSizeName(0);
+ public static final MediaSizeName ISO_A1 = new MediaSizeName(1);
+ public static final MediaSizeName ISO_A2 = new MediaSizeName(2);
+ public static final MediaSizeName ISO_A3 = new MediaSizeName(3);
+ public static final MediaSizeName ISO_A4 = new MediaSizeName(4);
+ public static final MediaSizeName ISO_A5 = new MediaSizeName(5);
+ public static final MediaSizeName ISO_A6 = new MediaSizeName(6);
+ public static final MediaSizeName ISO_A7 = new MediaSizeName(7);
+ public static final MediaSizeName ISO_A8 = new MediaSizeName(8);
+ public static final MediaSizeName ISO_A9 = new MediaSizeName(9);
+ public static final MediaSizeName ISO_A10 = new MediaSizeName(10);
+ public static final MediaSizeName ISO_B0 = new MediaSizeName(11);
+ public static final MediaSizeName ISO_B1 = new MediaSizeName(12);
+ public static final MediaSizeName ISO_B2 = new MediaSizeName(13);
+ public static final MediaSizeName ISO_B3 = new MediaSizeName(14);
+ public static final MediaSizeName ISO_B4 = new MediaSizeName(15);
+ public static final MediaSizeName ISO_B5 = new MediaSizeName(16);
+ public static final MediaSizeName ISO_B6 = new MediaSizeName(17);
+ public static final MediaSizeName ISO_B7 = new MediaSizeName(18);
+ public static final MediaSizeName ISO_B8 = new MediaSizeName(19);
+ public static final MediaSizeName ISO_B9 = new MediaSizeName(20);
+ public static final MediaSizeName ISO_B10 = new MediaSizeName(21);
+ public static final MediaSizeName JIS_B0 = new MediaSizeName(22);
+ public static final MediaSizeName JIS_B1 = new MediaSizeName(23);
+ public static final MediaSizeName JIS_B2 = new MediaSizeName(24);
+ public static final MediaSizeName JIS_B3 = new MediaSizeName(25);
+ public static final MediaSizeName JIS_B4 = new MediaSizeName(26);
+ public static final MediaSizeName JIS_B5 = new MediaSizeName(27);
+ public static final MediaSizeName JIS_B6 = new MediaSizeName(28);
+ public static final MediaSizeName JIS_B7 = new MediaSizeName(29);
+ public static final MediaSizeName JIS_B8 = new MediaSizeName(30);
+ public static final MediaSizeName JIS_B9 = new MediaSizeName(31);
+ public static final MediaSizeName JIS_B10 = new MediaSizeName(32);
+ public static final MediaSizeName ISO_C0 = new MediaSizeName(33);
+ public static final MediaSizeName ISO_C1 = new MediaSizeName(34);
+ public static final MediaSizeName ISO_C2 = new MediaSizeName(35);
+ public static final MediaSizeName ISO_C3 = new MediaSizeName(36);
+ public static final MediaSizeName ISO_C4 = new MediaSizeName(37);
+ public static final MediaSizeName ISO_C5 = new MediaSizeName(38);
+ public static final MediaSizeName ISO_C6 = new MediaSizeName(39);
+ public static final MediaSizeName NA_LETTER = new MediaSizeName(40);
+ public static final MediaSizeName NA_LEGAL = new MediaSizeName(41);
+ public static final MediaSizeName EXECUTIVE = new MediaSizeName(42);
+ public static final MediaSizeName LEDGER = new MediaSizeName(43);
+ public static final MediaSizeName TABLOID = new MediaSizeName(44);
+ public static final MediaSizeName INVOICE = new MediaSizeName(45);
+ public static final MediaSizeName FOLIO = new MediaSizeName(46);
+ public static final MediaSizeName QUARTO = new MediaSizeName(47);
+ public static final MediaSizeName JAPANESE_POSTCARD = new MediaSizeName(48);
+ public static final MediaSizeName JAPANESE_DOUBLE_POSTCARD =
+ new MediaSizeName(49);
+ public static final MediaSizeName A = new MediaSizeName(50);
+ public static final MediaSizeName B = new MediaSizeName(51);
+ public static final MediaSizeName C = new MediaSizeName(52);
+ public static final MediaSizeName D = new MediaSizeName(53);
+ public static final MediaSizeName E = new MediaSizeName(54);
+ public static final MediaSizeName ISO_DESIGNATED_LONG =
+ new MediaSizeName(55);
+ public static final MediaSizeName ITALY_ENVELOPE = new MediaSizeName(56);
+ public static final MediaSizeName MONARCH_ENVELOPE = new MediaSizeName(57);
+ public static final MediaSizeName PERSONAL_ENVELOPE = new MediaSizeName(58);
+ public static final MediaSizeName NA_NUMBER_9_ENVELOPE =
+ new MediaSizeName(59);
+ public static final MediaSizeName NA_NUMBER_10_ENVELOPE =
+ new MediaSizeName(60);
+ public static final MediaSizeName NA_NUMBER_11_ENVELOPE =
+ new MediaSizeName(61);
+ public static final MediaSizeName NA_NUMBER_12_ENVELOPE =
+ new MediaSizeName(62);
+ public static final MediaSizeName NA_NUMBER_14_ENVELOPE =
+ new MediaSizeName(63);
+ public static final MediaSizeName NA_6X9_ENVELOPE = new MediaSizeName(64);
+ public static final MediaSizeName NA_7X9_ENVELOPE = new MediaSizeName(65);
+ public static final MediaSizeName NA_9X11_ENVELOPE = new MediaSizeName(66);
+ public static final MediaSizeName NA_9X12_ENVELOPE = new MediaSizeName(67);
+ public static final MediaSizeName NA_10X13_ENVELOPE = new MediaSizeName(68);
+ public static final MediaSizeName NA_10X14_ENVELOPE = new MediaSizeName(69);
+ public static final MediaSizeName NA_10X15_ENVELOPE = new MediaSizeName(70);
+ public static final MediaSizeName NA_5X7 = new MediaSizeName(71);
+ public static final MediaSizeName NA_8X10 = new MediaSizeName(72);
+
+ /**
+ * Constructs a <code>MediaSizeName</code> object.
+ */
+ protected MediaSizeName(int value)
+ {
+ super(value);
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java b/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java
new file mode 100644
index 0000000..8298092
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java
@@ -0,0 +1,89 @@
+/* MultipleDocumentHandling.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class MultipleDocumentHandling extends EnumSyntax
+ implements PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = 8098326460746413466L;
+
+ public static final MultipleDocumentHandling SINGLE_DOCUMENT =
+ new MultipleDocumentHandling(0);
+ public static final MultipleDocumentHandling SEPARATE_DOCUMENTS_UNCOLLATED_COPIES =
+ new MultipleDocumentHandling(1);
+ public static final MultipleDocumentHandling SEPARATE_DOCUMENTS_COLLATED_COPIES =
+ new MultipleDocumentHandling(2);
+ public static final MultipleDocumentHandling SINGLE_DOCUMENT_NEW_SHEET =
+ new MultipleDocumentHandling(3);
+
+ /**
+ * Constructs a <code>MultipleDocumentHandling</code> object.
+ */
+ protected MultipleDocumentHandling(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>MultipleDocumentHandling</code> itself
+ */
+ public Class getCategory()
+ {
+ return MultipleDocumentHandling.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "multiple-document-handling";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java b/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java
new file mode 100644
index 0000000..cf2e9dc
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java
@@ -0,0 +1,100 @@
+/* NumberOfDocuments.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class NumberOfDocuments extends IntegerSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 7891881310684461097L;
+
+ /**
+ * Creates a <code>NumberOfDocuments</code> object.
+ *
+ * @param value the number of documents
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public NumberOfDocuments(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof NumberOfDocuments))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>NumberOfDocuments</code> itself
+ */
+ public Class getCategory()
+ {
+ return NumberOfDocuments.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "number-of-documents"
+ */
+ public String getName()
+ {
+ return "number-of-documents";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java b/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java
new file mode 100644
index 0000000..1da2e1b
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java
@@ -0,0 +1,100 @@
+/* NumberOfInterveningJobs.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class NumberOfInterveningJobs extends IntegerSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 2568141124844982746L;
+
+ /**
+ * Creates a <code>NumberOfInterveningJobs</code> object.
+ *
+ * @param value the number of intervening jobs
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public NumberOfInterveningJobs(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof NumberOfInterveningJobs))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>NumberOfInterveningJobs</code> itself
+ */
+ public Class getCategory()
+ {
+ return NumberOfInterveningJobs.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "number-of-intervening-jobs"
+ */
+ public String getName()
+ {
+ return "number-of-intervening-jobs";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/NumberUp.java b/libjava/classpath/javax/print/attribute/standard/NumberUp.java
new file mode 100644
index 0000000..4dee553
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/NumberUp.java
@@ -0,0 +1,100 @@
+/* NumberUp.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class NumberUp extends IntegerSyntax
+ implements DocAttribute, PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -3040436486786527811L;
+
+ /**
+ * Creates a <code>NumberUp</code> object.
+ *
+ * @param value the number of print-stream pages to print on a single side
+ * of a media
+ *
+ * @exception IllegalArgumentException if value < 1
+ */
+ public NumberUp(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof NumberUp))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>NumberUp</code> itself
+ */
+ public Class getCategory()
+ {
+ return NumberUp.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "number-up"
+ */
+ public String getName()
+ {
+ return "number-up";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java b/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java
new file mode 100644
index 0000000..512bdaa
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java
@@ -0,0 +1,95 @@
+/* NumberUpSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.SetOfIntegerSyntax;
+import javax.print.attribute.SupportedValuesAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class NumberUpSupported extends SetOfIntegerSyntax
+ implements SupportedValuesAttribute
+{
+ private static final long serialVersionUID = -1041573395759141805L;
+
+ /**
+ * Constructs a <code>NumberUp</code> object.
+ */
+ public NumberUpSupported(int member)
+ {
+ super(member);
+ }
+
+ /**
+ * Constructs a <code>NumberUp</code> object.
+ */
+ public NumberUpSupported(int[][] members)
+ {
+ super(members);
+ }
+
+ /**
+ * Constructs a <code>NumberUp</code> object.
+ */
+ public NumberUpSupported(int lowerBound, int upperBound)
+ {
+ super(lowerBound, upperBound);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>NumberUpSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return NumberUpSupported.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "number-up-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java b/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java
new file mode 100644
index 0000000..ca63fff
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java
@@ -0,0 +1,90 @@
+/* OrientationRequested.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class OrientationRequested extends EnumSyntax
+ implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
+{
+ private static final long serialVersionUID = -4447437289862822276L;
+
+ public static final OrientationRequested PORTRAIT =
+ new OrientationRequested(0);
+ public static final OrientationRequested LANDSCAPE =
+ new OrientationRequested(1);
+ public static final OrientationRequested REVERSE_LANDSCAPE =
+ new OrientationRequested(2);
+ public static final OrientationRequested REVERSE_PORTRAIT =
+ new OrientationRequested(3);
+
+ /**
+ * Constructs a <code>OrientationRequested</code> object.
+ */
+ protected OrientationRequested(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>OrientationRequested</code> itself
+ */
+ public Class getCategory()
+ {
+ return OrientationRequested.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "orientation-requested";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java b/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java
new file mode 100644
index 0000000..4bc1f6c
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java
@@ -0,0 +1,100 @@
+/* OutputDeviceAssigned.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class OutputDeviceAssigned extends TextSyntax
+ implements PrintJobAttribute
+{
+ private static final long serialVersionUID = 5486733778854271081L;
+
+ /**
+ * Creates a <code>OutputDeviceAssigned</code> object.
+ *
+ * @param deviceName the user name
+ *
+ * @exception NullPointerException if deviceName is null
+ */
+ public OutputDeviceAssigned(String deviceName, Locale locale)
+ {
+ super(deviceName, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof OutputDeviceAssigned))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>OutputDeviceAssigned</code> itself
+ */
+ public Class getCategory()
+ {
+ return OutputDeviceAssigned.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "output-device-assigned"
+ */
+ public String getName()
+ {
+ return "output-device-assigned";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java b/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java
new file mode 100644
index 0000000..7986539
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java
@@ -0,0 +1,84 @@
+/* PDLOverrideSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintServiceAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PDLOverrideSupported extends EnumSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -4393264467928463934L;
+
+ public static final PDLOverrideSupported NOT_ATTEMPTED =
+ new PDLOverrideSupported(0);
+ public static final PDLOverrideSupported ATTEMPTED =
+ new PDLOverrideSupported(0);
+
+ /**
+ * Constructs a <code>PDLOverrideSupported</code> object.
+ */
+ protected PDLOverrideSupported(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PDLOverrideSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return PDLOverrideSupported.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "pdl-override-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PageRanges.java b/libjava/classpath/javax/print/attribute/standard/PageRanges.java
new file mode 100644
index 0000000..2b3c632
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PageRanges.java
@@ -0,0 +1,97 @@
+/* PageRanges.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+import javax.print.attribute.SetOfIntegerSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PageRanges extends SetOfIntegerSyntax
+ implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
+{
+ private static final long serialVersionUID = 8639895197656148392L;
+
+ /**
+ * Constructs a <code>PageRanges</code> object.
+ */
+ public PageRanges(int member)
+ {
+ super(member);
+ }
+
+ /**
+ * Constructs a <code>PageRanges</code> object.
+ */
+ public PageRanges(int[][] members)
+ {
+ super(members);
+ }
+
+ /**
+ * Constructs a <code>PageRanges</code> object.
+ */
+ public PageRanges(int lowerBound, int upperBound)
+ {
+ super(lowerBound, upperBound);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PageRanges</code> itself
+ */
+ public Class getCategory()
+ {
+ return PageRanges.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "page-ranges";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java b/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java
new file mode 100644
index 0000000..db2658a
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java
@@ -0,0 +1,101 @@
+/* PagesPerMinute.java --
+ Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintServiceAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PagesPerMinute extends IntegerSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -6366403993072862015L;
+
+ /**
+ * Creates a <code>PagesPerMinute</code> object.
+ *
+ * @param value the number of pages per minute
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public PagesPerMinute(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof PagesPerMinute))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PagesPerMinute</code> itself
+ */
+ public Class getCategory()
+ {
+ return PagesPerMinute.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "pages-per-minute"
+ */
+ public String getName()
+ {
+ return "pages-per-minute";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java b/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java
new file mode 100644
index 0000000..85421d7
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java
@@ -0,0 +1,100 @@
+/* PagesPerMinuteColor.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintServiceAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class PagesPerMinuteColor extends IntegerSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 1684993151687470944L;
+
+ /**
+ * Creates a <code>PagesPerMinuteColor</code> object.
+ *
+ * @param value the number of pages per minute
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public PagesPerMinuteColor(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof PagesPerMinuteColor))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PagesPerMinuteColor</code> itself
+ */
+ public Class getCategory()
+ {
+ return PagesPerMinuteColor.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "pages-per-minute-color"
+ */
+ public String getName()
+ {
+ return "pages-per-minute-color";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java b/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java
new file mode 100644
index 0000000..bd1821d
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java
@@ -0,0 +1,97 @@
+/* PresentationDirection.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PresentationDirection extends EnumSyntax
+ implements PrintRequestAttribute, PrintJobAttribute
+{
+ private static final long serialVersionUID = 8294728067230931780L;
+
+ public static final PresentationDirection TOBOTTOM_TORIGHT =
+ new PresentationDirection(0);
+ public static final PresentationDirection TOBOTTOM_TOLEFT =
+ new PresentationDirection(1);
+ public static final PresentationDirection TOTOP_TORIGHT =
+ new PresentationDirection(2);
+ public static final PresentationDirection TOTOP_TOLEFT =
+ new PresentationDirection(3);
+ public static final PresentationDirection TORIGHT_TOBOTTOM =
+ new PresentationDirection(4);
+ public static final PresentationDirection TORIGHT_TOTOP =
+ new PresentationDirection(5);
+ public static final PresentationDirection TOLEFT_TOBOTTOM =
+ new PresentationDirection(6);
+ public static final PresentationDirection TOLEFT_TOTOP =
+ new PresentationDirection(7);
+
+ /**
+ * Constructs a <code>PresentationDirection</code> object.
+ */
+ private PresentationDirection(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PresentationDirection</code> itself
+ */
+ public Class getCategory()
+ {
+ return PresentationDirection.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "presentation-direction";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrintQuality.java b/libjava/classpath/javax/print/attribute/standard/PrintQuality.java
new file mode 100644
index 0000000..63be24e
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrintQuality.java
@@ -0,0 +1,85 @@
+/* PrintQuality.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintQuality extends EnumSyntax
+ implements DocAttribute, PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = -3072341285225858365L;
+
+ public static final PrintQuality DRAFT = new PrintQuality(0);
+ public static final PrintQuality NORMAL = new PrintQuality(1);
+ public static final PrintQuality HIGH = new PrintQuality(2);
+
+ /**
+ * Constructs a <code>PrintQuality</code> object.
+ */
+ protected PrintQuality(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrintQuality</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrintQuality.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "print-quality"
+ */
+ public String getName()
+ {
+ return "print-quality";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java b/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java
new file mode 100644
index 0000000..66199c4
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java
@@ -0,0 +1,101 @@
+/* PrinterInfo.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterInfo extends TextSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 7765280618777599727L;
+
+ /**
+ * Creates a <code>PrinterInfo</code> object.
+ *
+ * @param printerInfo the printer info
+ * @param locale the locale of the info, null means default locale
+ *
+ * @exception NullPointerException if printerInfo is null
+ */
+ public PrinterInfo(String printerInfo, Locale locale)
+ {
+ super(printerInfo, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof PrinterInfo))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterInfo</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterInfo.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-info"
+ */
+ public String getName()
+ {
+ return "printer-info";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java b/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java
new file mode 100644
index 0000000..19b555a
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java
@@ -0,0 +1,84 @@
+/* PrinterIsAcceptingJobs.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintServiceAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrinterIsAcceptingJobs extends EnumSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -5052010680537678061L;
+
+ public static final PrinterIsAcceptingJobs NOT_ACCEPTING_JOBS =
+ new PrinterIsAcceptingJobs(0);
+ public static final PrinterIsAcceptingJobs ACCEPTING_JOBS =
+ new PrinterIsAcceptingJobs(1);
+
+ /**
+ * Constructs a <code>PrinterIsAcceptingJobs</code> object.
+ */
+ protected PrinterIsAcceptingJobs(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterIsAcceptingJobs</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterIsAcceptingJobs.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "printer-is-accepting-jobs";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java b/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java
new file mode 100644
index 0000000..f342e8c
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java
@@ -0,0 +1,101 @@
+/* PrinterLocation.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterLocation extends TextSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -1598610039865566337L;
+
+ /**
+ * Creates a <code>PrinterLocation</code> object.
+ *
+ * @param printerLocation the printer location
+ * @param locale the locale of the location, null means default locale
+ *
+ * @exception NullPointerException if printerLocation is null
+ */
+ public PrinterLocation(String printerLocation, Locale locale)
+ {
+ super(printerLocation, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof PrinterLocation))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterLocation</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterLocation.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-location"
+ */
+ public String getName()
+ {
+ return "printer-location";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java b/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java
new file mode 100644
index 0000000..c3f3a63
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java
@@ -0,0 +1,101 @@
+/* PrinterMakeAndModel.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterMakeAndModel extends TextSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 4580461489499351411L;
+
+ /**
+ * Creates a <code>PrinterMakeAndModel</code> object.
+ *
+ * @param makeAndModel the make and model string
+ * @param locale the locale of the make and model, null means default locale
+ *
+ * @exception NullPointerException if makeAndModel is null
+ */
+ public PrinterMakeAndModel(String makeAndModel, Locale locale)
+ {
+ super(makeAndModel, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof PrinterMakeAndModel))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterMakeAndModel</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterMakeAndModel.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-make-and-model"
+ */
+ public String getName()
+ {
+ return "printer-make-and-model";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java b/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java
new file mode 100644
index 0000000..d231eb2
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java
@@ -0,0 +1,101 @@
+/* PrinterMessageFromOperator.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterMessageFromOperator extends TextSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -4486871203218629318L;
+
+ /**
+ * Creates a <code>PrinterMessageFromOperator</code> object.
+ *
+ * @param message the message
+ * @param locale the locale of the message, null means default locale
+ *
+ * @exception NullPointerException if message is null
+ */
+ public PrinterMessageFromOperator(String message, Locale locale)
+ {
+ super(message, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof PrinterMessageFromOperator))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterMessageFromOperator</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterMessageFromOperator.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-message-from-operator"
+ */
+ public String getName()
+ {
+ return "printer-message-from-operator";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java
new file mode 100644
index 0000000..b0cf973
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java
@@ -0,0 +1,81 @@
+/* PrinterMoreInfo.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.net.URI;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.URISyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterMoreInfo extends URISyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 4555850007675338574L;
+
+ /**
+ * Constructs a <code>PrinterMoreInfo</code> object.
+ */
+ public PrinterMoreInfo(URI uri)
+ {
+ super(uri);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterMoreInfo</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterMoreInfo.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "printer-more-info";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java
new file mode 100644
index 0000000..0a39b86
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java
@@ -0,0 +1,81 @@
+/* PrinterMoreInfoManufacturer.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.net.URI;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.URISyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterMoreInfoManufacturer extends URISyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 3323271346485076608L;
+
+ /**
+ * Constructs a <code>PrinterMoreInfoManufacturer</code> object.
+ */
+ public PrinterMoreInfoManufacturer(URI uri)
+ {
+ super(uri);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterMoreInfoManufacturer</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterMoreInfoManufacturer.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "printer-more-info-manufacturer";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterName.java b/libjava/classpath/javax/print/attribute/standard/PrinterName.java
new file mode 100644
index 0000000..d3b495b
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterName.java
@@ -0,0 +1,101 @@
+/* PrinterName.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterName extends TextSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 299740639137803127L;
+
+ /**
+ * Creates a <code>PrinterName</code> object.
+ *
+ * @param printerName the printer name
+ * @param locale the locale of the name, null means default locale
+ *
+ * @exception NullPointerException if printerName is null
+ */
+ public PrinterName(String printerName, Locale locale)
+ {
+ super(printerName, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof PrinterName))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterName</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterName.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-name"
+ */
+ public String getName()
+ {
+ return "printer-name";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java b/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java
new file mode 100644
index 0000000..6a237a8
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java
@@ -0,0 +1,82 @@
+/* PrinterMoreInfoManufacturer.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+import javax.print.attribute.ResolutionSyntax;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterResolution extends ResolutionSyntax
+ implements DocAttribute, PrintJobAttribute, PrintRequestAttribute
+{
+ private static final long serialVersionUID = 13090306561090558L;
+
+ /**
+ * Constructs a <code>PrinterResolution</code> object.
+ */
+ public PrinterResolution(int crossFeedResolution, int feedResolution,
+ int units)
+ {
+ super(crossFeedResolution, feedResolution, units);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterResolution</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterResolution.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "printer-resolution";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterState.java b/libjava/classpath/javax/print/attribute/standard/PrinterState.java
new file mode 100644
index 0000000..28d78cd
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterState.java
@@ -0,0 +1,84 @@
+/* PrinterState.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintServiceAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterState extends EnumSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -649578618346507718L;
+
+ public static final PrinterState UNKNOWN = new PrinterState(0);
+ public static final PrinterState IDLE = new PrinterState(1);
+ public static final PrinterState PROCESSING = new PrinterState(2);
+ public static final PrinterState STOPPED = new PrinterState(3);
+
+ /**
+ * Constructs a <code>PrinterState</code> object.
+ */
+ protected PrinterState(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterState</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterState.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "printer-state";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java b/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java
new file mode 100644
index 0000000..847395e
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java
@@ -0,0 +1,140 @@
+/* PrinterStateReason.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.Attribute;
+import javax.print.attribute.EnumSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrinterStateReason extends EnumSyntax
+ implements Attribute
+{
+ private static final long serialVersionUID = -1623720656201472593L;
+
+ public static final PrinterStateReason OTHER = new PrinterStateReason(0);
+ public static final PrinterStateReason MEDIA_NEEDED =
+ new PrinterStateReason(1);
+ public static final PrinterStateReason MEDIA_JAM = new PrinterStateReason(2);
+ public static final PrinterStateReason MOVING_TO_PAUSED =
+ new PrinterStateReason(3);
+ public static final PrinterStateReason PAUSED = new PrinterStateReason(4);
+ public static final PrinterStateReason SHUTDOWN = new PrinterStateReason(5);
+ public static final PrinterStateReason CONNECTING_TO_DEVICE =
+ new PrinterStateReason(6);
+ public static final PrinterStateReason TIMED_OUT = new PrinterStateReason(7);
+ public static final PrinterStateReason STOPPING = new PrinterStateReason(8);
+ public static final PrinterStateReason STOPPED_PARTLY =
+ new PrinterStateReason(9);
+ public static final PrinterStateReason TONER_LOW =
+ new PrinterStateReason(10);
+ public static final PrinterStateReason TONER_EMPTY =
+ new PrinterStateReason(11);
+ public static final PrinterStateReason SPOOL_AREA_FULL =
+ new PrinterStateReason(12);
+ public static final PrinterStateReason COVER_OPEN =
+ new PrinterStateReason(13);
+ public static final PrinterStateReason INTERLOCK_OPEN =
+ new PrinterStateReason(14);
+ public static final PrinterStateReason DOOR_OPEN =
+ new PrinterStateReason(15);
+ public static final PrinterStateReason INPUT_TRAY_MISSING =
+ new PrinterStateReason(16);
+ public static final PrinterStateReason MEDIA_LOW =
+ new PrinterStateReason(17);
+ public static final PrinterStateReason MEDIA_EMPTY =
+ new PrinterStateReason(18);
+ public static final PrinterStateReason OUTPUT_TRAY_MISSING =
+ new PrinterStateReason(19);
+ public static final PrinterStateReason OUTPUT_AREA_ALMOST_FULL =
+ new PrinterStateReason(20);
+ public static final PrinterStateReason OUTPUT_AREA_FULL =
+ new PrinterStateReason(21);
+ public static final PrinterStateReason MARKER_SUPPLY_LOW =
+ new PrinterStateReason(22);
+ public static final PrinterStateReason MARKER_SUPPLY_EMPTY =
+ new PrinterStateReason(23);
+ public static final PrinterStateReason MARKER_WASTE_ALMOST_FULL =
+ new PrinterStateReason(24);
+ public static final PrinterStateReason MARKER_WASTE_FULL =
+ new PrinterStateReason(25);
+ public static final PrinterStateReason FUSER_OVER_TEMP =
+ new PrinterStateReason(26);
+ public static final PrinterStateReason FUSER_UNDER_TEMP =
+ new PrinterStateReason(27);
+ public static final PrinterStateReason OPC_NEAR_EOL =
+ new PrinterStateReason(28);
+ public static final PrinterStateReason OPC_LIFE_OVER =
+ new PrinterStateReason(29);
+ public static final PrinterStateReason DEVELOPER_LOW =
+ new PrinterStateReason(30);
+ public static final PrinterStateReason DEVELOPER_EMPTY =
+ new PrinterStateReason(31);
+ public static final PrinterStateReason INTERPRETER_RESOURCE_UNAVAILABLE =
+ new PrinterStateReason(32);
+
+ /**
+ * Constructs a <code>PrinterStateReason</code> object.
+ */
+ protected PrinterStateReason(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrintStateReason</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterStateReason.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-state-reason"
+ */
+ public String getName()
+ {
+ return "printer-state-reason";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java b/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java
new file mode 100644
index 0000000..d81313f
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java
@@ -0,0 +1,72 @@
+/* PrinterStateReasons.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.HashMap;
+
+import javax.print.attribute.PrintServiceAttribute;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterStateReasons extends HashMap
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = -3731791085163619457L;
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrintStateReasons</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterStateReasons.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-state-reasons"
+ */
+ public String getName()
+ {
+ return "printer-state-reasons";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterURI.java b/libjava/classpath/javax/print/attribute/standard/PrinterURI.java
new file mode 100644
index 0000000..e4c89a5
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/PrinterURI.java
@@ -0,0 +1,81 @@
+/* PrinterURI.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.net.URI;
+
+import javax.print.attribute.PrintServiceAttribute;
+import javax.print.attribute.URISyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class PrinterURI extends URISyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 7923912792485606497L;
+
+ /**
+ * Constructs a <code>PrinterURI</code> object.
+ */
+ public PrinterURI(URI uri)
+ {
+ super(uri);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>PrinterURI</code> itself
+ */
+ public Class getCategory()
+ {
+ return PrinterURI.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "printer-uri"
+ */
+ public String getName()
+ {
+ return "printer-uri";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java b/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java
new file mode 100644
index 0000000..7ee0f7c3
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java
@@ -0,0 +1,100 @@
+/* QueuedJobCount.java --
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.IntegerSyntax;
+import javax.print.attribute.PrintServiceAttribute;
+
+/**
+ * @author Michael Koch
+ */
+public final class QueuedJobCount extends IntegerSyntax
+ implements PrintServiceAttribute
+{
+ private static final long serialVersionUID = 7499723077864047742L;
+
+ /**
+ * Creates a <code>QueuedJobCount</code> object.
+ *
+ * @param value the number of queued jobs
+ *
+ * @exception IllegalArgumentException if value < 0
+ */
+ public QueuedJobCount(int value)
+ {
+ super(value);
+
+ if (value < 0)
+ throw new IllegalArgumentException("value may not be less than 0");
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof QueuedJobCount))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>QueuedJobCount</code> itself
+ */
+ public Class getCategory()
+ {
+ return QueuedJobCount.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "queued-job-count"
+ */
+ public String getName()
+ {
+ return "queued-job-count";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java b/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java
new file mode 100644
index 0000000..b4c0d94
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java
@@ -0,0 +1,96 @@
+/* ReferenceUriSchemesSupported.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.Attribute;
+import javax.print.attribute.EnumSyntax;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class ReferenceUriSchemesSupported extends EnumSyntax
+ implements Attribute
+{
+ private static final long serialVersionUID = -8989076942813442805L;
+
+ public static final ReferenceUriSchemesSupported FTP =
+ new ReferenceUriSchemesSupported(0);
+ public static final ReferenceUriSchemesSupported HTTP =
+ new ReferenceUriSchemesSupported(1);
+ public static final ReferenceUriSchemesSupported HTTPS =
+ new ReferenceUriSchemesSupported(2);
+ public static final ReferenceUriSchemesSupported GOPHER =
+ new ReferenceUriSchemesSupported(3);
+ public static final ReferenceUriSchemesSupported NEWS =
+ new ReferenceUriSchemesSupported(4);
+ public static final ReferenceUriSchemesSupported NNTP =
+ new ReferenceUriSchemesSupported(5);
+ public static final ReferenceUriSchemesSupported WAIS =
+ new ReferenceUriSchemesSupported(6);
+ public static final ReferenceUriSchemesSupported FILE =
+ new ReferenceUriSchemesSupported(7);
+
+ /**
+ * Constructs a <code>ReferenceUriSchemeSupported</code> object.
+ */
+ protected ReferenceUriSchemesSupported(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>ReferenceUriSchemesSupported</code> itself
+ */
+ public Class getCategory()
+ {
+ return ReferenceUriSchemesSupported.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "reference-uri-schemes-supported"
+ */
+ public String getName()
+ {
+ return "reference-uri-schemes-supported";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java b/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java
new file mode 100644
index 0000000..bca7fbb
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java
@@ -0,0 +1,101 @@
+/* RequestingUserName.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.print.attribute.standard;
+
+import java.util.Locale;
+
+import javax.print.attribute.PrintRequestAttribute;
+import javax.print.attribute.TextSyntax;
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class RequestingUserName extends TextSyntax
+ implements PrintRequestAttribute
+{
+ private static final long serialVersionUID = -2683049894310331454L;
+
+ /**
+ * Creates a <code>RequestingUserName</code> object.
+ *
+ * @param userName the job name
+ * @param locale the locale of the user, null means default locale
+ *
+ * @exception NullPointerException if userName is null
+ */
+ public RequestingUserName(String userName, Locale locale)
+ {
+ super(userName, locale);
+ }
+
+ /**
+ * Tests of obj is equal to this object.
+ *
+ * @param obj the object to test
+ *
+ * @return true if both objects are equal, false otherwise.
+ */
+ public boolean equals(Object obj)
+ {
+ if(! (obj instanceof RequestingUserName))
+ return false;
+
+ return super.equals(obj);
+ }
+
+ /**
+ * Returns category of this attribute.
+ *
+ * @return the class <code>RequestingUserName</code> itself
+ */
+ public Class getCategory()
+ {
+ return RequestingUserName.class;
+ }
+
+ /**
+ * Returns name of this attribute.
+ *
+ * @return the string "requesting-user-name"
+ */
+ public String getName()
+ {
+ return "requesting-user-name";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Severity.java b/libjava/classpath/javax/print/attribute/standard/Severity.java
new file mode 100644
index 0000000..c34ed3e
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Severity.java
@@ -0,0 +1,83 @@
+/* Severity.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.Attribute;
+import javax.print.attribute.EnumSyntax;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class Severity extends EnumSyntax
+ implements Attribute
+{
+ private static final long serialVersionUID = 8781881462717925380L;
+
+ public static final Severity REPORT = new Severity(0);
+ public static final Severity WARNING = new Severity(1);
+ public static final Severity ERROR = new Severity(2);
+
+ /**
+ * Constructs a <code>Severity</code> object.
+ */
+ protected Severity(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Severity</code> itself
+ */
+ public Class getCategory()
+ {
+ return Severity.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "severity"
+ */
+ public String getName()
+ {
+ return "severity";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/SheetCollate.java b/libjava/classpath/javax/print/attribute/standard/SheetCollate.java
new file mode 100644
index 0000000..a4e31f4
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/SheetCollate.java
@@ -0,0 +1,81 @@
+/* SheetCollate.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class SheetCollate extends EnumSyntax
+ implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
+{
+ private static final long serialVersionUID = 7080587914259873003L;
+
+ public static final SheetCollate UNCOLLATED = new SheetCollate(0);
+ public static final SheetCollate COLLATED = new SheetCollate(1);
+
+ protected SheetCollate(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>SheetCollate</code> itself
+ */
+ public Class getCategory()
+ {
+ return SheetCollate.class;
+ }
+
+ /**
+ * Returns name of this class.
+ *
+ * @return the string "sheet-collate"
+ */
+ public String getName()
+ {
+ return "sheet-collate";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/Sides.java b/libjava/classpath/javax/print/attribute/standard/Sides.java
new file mode 100644
index 0000000..94b473c
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/Sides.java
@@ -0,0 +1,89 @@
+/* Sides.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.attribute.standard;
+
+import javax.print.attribute.DocAttribute;
+import javax.print.attribute.EnumSyntax;
+import javax.print.attribute.PrintJobAttribute;
+import javax.print.attribute.PrintRequestAttribute;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public final class Sides extends EnumSyntax
+ implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
+{
+ private static final long serialVersionUID = -6890309414893262822L;
+
+ public static final Sides ONE_SIDED = new Sides(0);
+ public static final Sides TWO_SIDED_LONG_EDGE = new Sides(1);
+ public static final Sides TWO_SIDED_SHORT_EDGE = new Sides(2);
+ public static final Sides DUPLEX = new Sides(3);
+ public static final Sides TUMBLE = new Sides(4);
+
+ /**
+ * Creates a <code>Sides</code> object.
+ *
+ * @param value the number of sides
+ */
+ protected Sides(int value)
+ {
+ super(value);
+ }
+
+ /**
+ * Returns category of this class.
+ *
+ * @return the class <code>Sides</code> itself
+ */
+ public Class getCategory()
+ {
+ return Sides.class;
+ }
+
+ /**
+ * Returns the name of this attribute.
+ *
+ * @return the name
+ */
+ public String getName()
+ {
+ return "sides";
+ }
+}
diff --git a/libjava/classpath/javax/print/attribute/standard/package.html b/libjava/classpath/javax/print/attribute/standard/package.html
new file mode 100644
index 0000000..9d2d970
--- /dev/null
+++ b/libjava/classpath/javax/print/attribute/standard/package.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.print.attribute.standard
+ package.
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.print.attribute.standard</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>
diff --git a/libjava/classpath/javax/print/event/PrintEvent.java b/libjava/classpath/javax/print/event/PrintEvent.java
new file mode 100644
index 0000000..cbf9385
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintEvent.java
@@ -0,0 +1,67 @@
+/* PrintEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import java.util.EventObject;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintEvent extends EventObject
+{
+ /**
+ * Constructs a <code>PrintEvent</code> object.
+ *
+ * @param source the source of this event
+ */
+ public PrintEvent(Object source)
+ {
+ super(source);
+ }
+
+ /**
+ * Returns a string representation of this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ return "PrintEvent on " + getSource().toString();
+ }
+}
diff --git a/libjava/classpath/javax/print/event/PrintJobAdapter.java b/libjava/classpath/javax/print/event/PrintJobAdapter.java
new file mode 100644
index 0000000..3615108
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintJobAdapter.java
@@ -0,0 +1,117 @@
+/* PrintJobAdapter.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public abstract class PrintJobAdapter
+ implements PrintJobListener
+{
+ /**
+ * Constructs a <code>PrintJobAdapter</code> object.
+ */
+ public PrintJobAdapter()
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that all data has bin successfully transferred
+ * to the print service.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printDataTransferCompleted(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a print job was canceled.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobCanceled(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a print job was successfully completed.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobCompleted(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a print job failed to complete
+ * successfully.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobFailed(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that no more job events will be send.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobNoMoreEvents(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a problem occured during printing
+ * but the user may be able to fix it.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobRequiresAttention(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+}
diff --git a/libjava/classpath/javax/print/event/PrintJobAttributeEvent.java b/libjava/classpath/javax/print/event/PrintJobAttributeEvent.java
new file mode 100644
index 0000000..0914aea
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintJobAttributeEvent.java
@@ -0,0 +1,85 @@
+/* PrintJobAttributeEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import javax.print.DocPrintJob;
+import javax.print.attribute.PrintJobAttributeSet;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintJobAttributeEvent extends PrintEvent
+{
+ private static final long serialVersionUID = -6534469883874742101L;
+
+ private PrintJobAttributeSet attributes;
+
+ /**
+ * Constructs a <code>PrintJobAttributeEvent</code> object.
+ *
+ * @param source the source of this event
+ * @param attributes the attribute changes being reported
+ */
+ public PrintJobAttributeEvent(DocPrintJob source,
+ PrintJobAttributeSet attributes)
+ {
+ super(source);
+ this.attributes = attributes;
+ }
+
+ /**
+ * Returns the print job generating this event.
+ *
+ * @return the print job
+ */
+ public DocPrintJob getPrintJob()
+ {
+ return (DocPrintJob) getSource();
+ }
+
+ /**
+ * Returns the attributes that changed and their new values.
+ *
+ * @return the changes attributes
+ */
+ public PrintJobAttributeSet getAttributes()
+ {
+ return attributes;
+ }
+}
diff --git a/libjava/classpath/javax/print/event/PrintJobAttributeListener.java b/libjava/classpath/javax/print/event/PrintJobAttributeListener.java
new file mode 100644
index 0000000..ee816d2
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintJobAttributeListener.java
@@ -0,0 +1,52 @@
+/* PrintJobAttributeListener.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface PrintJobAttributeListener
+{
+ /**
+ * Notifies the listener of an attribute change.
+ *
+ * @param event the event
+ */
+ void attributeUpdate(PrintJobAttributeEvent event);
+}
diff --git a/libjava/classpath/javax/print/event/PrintJobEvent.java b/libjava/classpath/javax/print/event/PrintJobEvent.java
new file mode 100644
index 0000000..c4b7cd6
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintJobEvent.java
@@ -0,0 +1,90 @@
+/* PrintEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import javax.print.DocPrintJob;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintJobEvent extends PrintEvent
+{
+ private static final long serialVersionUID = -1711656903622072997L;
+
+ public static final int DATA_TRANSFER_COMPLETE = 106;
+ public static final int JOB_CANCELED = 101;
+ public static final int JOB_COMPLETE = 102;
+ public static final int JOB_FAILED = 103;
+ public static final int NO_MORE_EVENTS = 105;
+ public static final int REQUIRES_ATTENTION = 104;
+
+ private int reason;
+
+ /**
+ * Constructs a <code>PrintJobEvent</code> object.
+ *
+ * @param source the source generating this event
+ * @param reason the reason for this event
+ */
+ public PrintJobEvent(DocPrintJob source, int reason)
+ {
+ super(source);
+ this.reason = reason;
+ }
+
+ /**
+ * Returns the reason for this event.
+ *
+ * @return the reason
+ */
+ public int getPrintEventType()
+ {
+ return reason;
+ }
+
+ /**
+ * Returns the print job that generated this event.
+ *
+ * @return the print job
+ */
+ public DocPrintJob getPrintJob()
+ {
+ return (DocPrintJob) getSource();
+ }
+}
diff --git a/libjava/classpath/javax/print/event/PrintJobListener.java b/libjava/classpath/javax/print/event/PrintJobListener.java
new file mode 100644
index 0000000..d1dcf42
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintJobListener.java
@@ -0,0 +1,87 @@
+/* PrintJobListener.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de) */
+public interface PrintJobListener
+{
+ /**
+ * Notifies the listener that all data has been successfully transferred
+ * to the print service.
+ *
+ * @param event the event
+ */
+ void printDataTransferCompleted(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that a print job got canceled.
+ *
+ * @param event the event
+ */
+ void printJobCanceled(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that a print job has completed.
+ *
+ * @param event the event
+ */
+ void printJobCompleted(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that a print job has failed to complete.
+ *
+ * @param event the event.
+ */
+ void printJobFailed(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that no more events will be delivered.
+ *
+ * @param event the event
+ */
+ void printJobNoMoreEvents(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that an error occured and the user might be able to fix it.
+ *
+ * @param event the event
+ */
+ void printJobRequiresAttention(PrintJobEvent event);
+}
diff --git a/libjava/classpath/javax/print/event/PrintServiceAttributeEvent.java b/libjava/classpath/javax/print/event/PrintServiceAttributeEvent.java
new file mode 100644
index 0000000..d398174
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintServiceAttributeEvent.java
@@ -0,0 +1,83 @@
+/* PrintServiceAttributeEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import javax.print.PrintService;
+import javax.print.attribute.PrintServiceAttributeSet;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintServiceAttributeEvent extends PrintEvent
+{
+ private PrintServiceAttributeSet attributes;
+
+ /**
+ * Constructs a <code>PrintServiceAttributeEvent</code> object.
+ *
+ * @param source the source of this event
+ * @param attributes the attribute changes being reported
+ */
+ public PrintServiceAttributeEvent(PrintService source,
+ PrintServiceAttributeSet attributes)
+ {
+ super(source);
+ this.attributes = attributes;
+ }
+
+ /**
+ * Returns the print service that generated this event.
+ *
+ * @return the print service
+ */
+ public PrintService getPrintService()
+ {
+ return (PrintService) getSource();
+ }
+
+ /**
+ * Returns the changed attributes this event reports.
+ *
+ * @return the changed attributes
+ */
+ public PrintServiceAttributeSet getAttributes()
+ {
+ return attributes;
+ }
+}
diff --git a/libjava/classpath/javax/print/event/PrintServiceAttributeListener.java b/libjava/classpath/javax/print/event/PrintServiceAttributeListener.java
new file mode 100644
index 0000000..e43d9ad
--- /dev/null
+++ b/libjava/classpath/javax/print/event/PrintServiceAttributeListener.java
@@ -0,0 +1,52 @@
+/* PrintServiceAttributeListener.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface PrintServiceAttributeListener
+{
+ /**
+ * Notifies the listener that some attributes have changed.
+ *
+ * @param event the event
+ */
+ void attributeUpdate(PrintServiceAttributeEvent event);
+}
diff --git a/libjava/classpath/javax/print/event/package.html b/libjava/classpath/javax/print/event/package.html
new file mode 100644
index 0000000..52a298a
--- /dev/null
+++ b/libjava/classpath/javax/print/event/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.print.event package.
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.print.event</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>
diff --git a/libjava/classpath/javax/print/package.html b/libjava/classpath/javax/print/package.html
new file mode 100644
index 0000000..dfa4b0f
--- /dev/null
+++ b/libjava/classpath/javax/print/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.print package.
+ Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.print</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>