diff options
author | Mark Wielaard <mark@gcc.gnu.org> | 2006-01-17 18:09:40 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2006-01-17 18:09:40 +0000 |
commit | 2127637945ea6b763966398130e0770fa993c860 (patch) | |
tree | c976ca91e3ef0bda3b34b37c0195145638d8d08e /libjava/classpath/javax/print/attribute/standard | |
parent | bcb36c3e02e3bd2843aad1b9888513dfb5d6e337 (diff) | |
download | gcc-2127637945ea6b763966398130e0770fa993c860.tar.gz |
Imported GNU Classpath 0.20
Imported GNU Classpath 0.20
* Makefile.am (AM_CPPFLAGS): Add classpath/include.
* java/nio/charset/spi/CharsetProvider.java: New override file.
* java/security/Security.java: Likewise.
* sources.am: Regenerated.
* Makefile.in: Likewise.
From-SVN: r109831
Diffstat (limited to 'libjava/classpath/javax/print/attribute/standard')
70 files changed, 4521 insertions, 422 deletions
diff --git a/libjava/classpath/javax/print/attribute/standard/Chromaticity.java b/libjava/classpath/javax/print/attribute/standard/Chromaticity.java index 3d336a4822c..cc834f680a2 100644 --- a/libjava/classpath/javax/print/attribute/standard/Chromaticity.java +++ b/libjava/classpath/javax/print/attribute/standard/Chromaticity.java @@ -44,15 +44,40 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** + * The <code>Chromaticity</code> printing attribute specifies if print data + * should be printed in monochrome or color. + * <p> + * The attribute interacts with the document to be printed. If the document + * to be printed is a monochrome document it will be printed monochrome + * regardless of the value of this attribute category. However if it is a + * color document supplying the attribute value <code>MONOCHROME</code> + * will prepare the document to be printed in monochrome instead of color. + * </p> + * <p> + * This printing attribute has nothing to do with the capabilities of the + * printer device. To check if a specific printer service supports printing + * in color you have to use the attribute + * {@link javax.print.attribute.standard.ColorSupported} + * </p> + * <p> + * <b>IPP Compatibility:</b> Chromaticity is not an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class Chromaticity extends EnumSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute { private static final long serialVersionUID = 4660543931355214012L; - + + /** Specifies monochrome printing. */ public static final Chromaticity MONOCHROME = new Chromaticity(0); + + /** Specifies color printing. */ public static final Chromaticity COLOR = new Chromaticity(1); + + private static final String[] stringTable = { "monochrome", "color" }; + private static final Chromaticity[] enumValueTable = { MONOCHROME, COLOR }; /** * Creates a <code>Chromaticity</code> object. @@ -67,7 +92,7 @@ public final class Chromaticity extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>Sides</code> itself + * @return The class <code>Chromaticity</code> itself. */ public Class getCategory() { @@ -77,10 +102,32 @@ public final class Chromaticity extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "chromaticity". */ public String getName() { return "chromaticity"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } + } diff --git a/libjava/classpath/javax/print/attribute/standard/ColorSupported.java b/libjava/classpath/javax/print/attribute/standard/ColorSupported.java index fad7ced0191..bca932dd735 100644 --- a/libjava/classpath/javax/print/attribute/standard/ColorSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/ColorSupported.java @@ -1,5 +1,5 @@ /* ColorSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,20 @@ import javax.print.attribute.PrintServiceAttribute; /** + * The <code>ColorSupported</code> printing attribute specifies if a + * printing device is capable of color printing. + * <p> + * This attributes just tells if a printer device supports color printing + * but does not specify how a specific print job is printed. Therefore the + * attribute {@link javax.print.attribute.standard.Chromaticity} exists. + * </p> + * <p> + * <b>IPP Compatibility:</b> ColorSupported is an IPP 1.1 attribute. The IPP + * specification treats ColorSupported as a boolean type which is not available + * in the Java Print Service API. The IPP boolean value true corresponds + * to <code>SUPPORTED</code> and "false" to <code>NOT_SUPPORTED</code>. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class ColorSupported extends EnumSyntax @@ -49,13 +63,20 @@ public final class ColorSupported extends EnumSyntax { private static final long serialVersionUID = -2700555589688535545L; + /** The printer does not support printing in color. */ public static final ColorSupported NOT_SUPPORTED = new ColorSupported(0); + + /** The printer supports printing in color. */ public static final ColorSupported SUPPORTED = new ColorSupported(1); + private static final String[] stringTable = { "not-supported", "supported" }; + private static final ColorSupported[] enumValueTable = { NOT_SUPPORTED, + SUPPORTED }; + /** * Constructs a <code>ColorSupported</code> object. * - * @param value the value + * @param value the enum value */ protected ColorSupported(int value) { @@ -65,7 +86,7 @@ public final class ColorSupported extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>ColorSupported</code> itself + * @return The class <code>ColorSupported</code> itself. */ public Class getCategory() { @@ -75,10 +96,31 @@ public final class ColorSupported extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "color-supported". */ public String getName() { return "color-supported"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/Compression.java b/libjava/classpath/javax/print/attribute/standard/Compression.java index 112202a0b4a..d29ffa0fcaf 100644 --- a/libjava/classpath/javax/print/attribute/standard/Compression.java +++ b/libjava/classpath/javax/print/attribute/standard/Compression.java @@ -1,5 +1,5 @@ /* Compression.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,16 @@ import javax.print.attribute.EnumSyntax; /** + * The <code>Compression</code> printing attribute specifies if and how the + * supplied print data is compressed. + * <p> + * If this attribute is ommitted from the attributes set of the print + * data it is assumed that no compression is done. + * </p> + * <p> + * <b>IPP Compatibility:</b> Compression is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public class Compression extends EnumSyntax @@ -49,15 +59,27 @@ public class Compression extends EnumSyntax { private static final long serialVersionUID = -5716748913324997674L; + /** The print data is not compressed. */ public static final Compression NONE = new Compression(0); + + /** The print data is ZIP compressed. */ public static final Compression DEFLATE = new Compression(1); + + /** The print data is GNU Zip compressed. */ public static final Compression GZIP = new Compression(2); + + /** The print data is UNIX compressed. */ public static final Compression COMPRESS = new Compression(3); + + private static final String[] stringTable = { "none", "deflate", + "gzip", "compress" }; + private static final Compression[] enumValueTable = { NONE, DEFLATE, + GZIP, COMPRESS }; /** * Constructs a <code>Compression</code> object. * - * @param value that value + * @param value the enum value */ protected Compression(int value) { @@ -67,7 +89,7 @@ public class Compression extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>Compression</code> itself + * @return The class <code>Compression</code> itself. */ public Class getCategory() { @@ -77,10 +99,31 @@ public class Compression extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "compression". */ public String getName() { return "compression"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/Copies.java b/libjava/classpath/javax/print/attribute/standard/Copies.java index 7c5fdff0cc7..78ca6c6cc63 100644 --- a/libjava/classpath/javax/print/attribute/standard/Copies.java +++ b/libjava/classpath/javax/print/attribute/standard/Copies.java @@ -1,5 +1,5 @@ /* Copies.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -33,7 +33,7 @@ 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. */ +exception statement from your version. */ package javax.print.attribute.standard; @@ -42,7 +42,19 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** - * @author Michael Koch + * The <code>Copies</code> printing attribute specifies the number + * of copies to be printed. + * <p> + * <b>Note:</b> The effect of this attribute on jobs with multiple documents + * is controlled by the job attribute + * {@link javax.print.attribute.standard.MultipleDocumentHandling}. + * </p> + * <p> + * <b>IPP Compatibility:</b> Copies is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.MultipleDocumentHandling + * + * @author Michael Koch (konqueror@gmx.de) */ public final class Copies extends IntegerSyntax implements PrintJobAttribute, PrintRequestAttribute @@ -54,7 +66,7 @@ public final class Copies extends IntegerSyntax * * @param value the number of copies * - * @exception IllegalArgumentException if value < 1 + * @exception IllegalArgumentException if value < 1 */ public Copies(int value) { @@ -65,11 +77,12 @@ public final class Copies extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +95,7 @@ public final class Copies extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>Copies</code> itself + * @return The class <code>Copies</code> itself. */ public Class getCategory() { @@ -90,9 +103,9 @@ public final class Copies extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "copies" + * @return The name "copies". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java b/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java index 8062ebca192..fec426becd4 100644 --- a/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/CopiesSupported.java @@ -1,5 +1,5 @@ /* CopiesSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,15 @@ import javax.print.attribute.SupportedValuesAttribute; /** + * The <code>CopiesSupported</code> attribute specifies the supported + * value or range of values for the + * {@link javax.print.attribute.standard.Copies} attribute. + * <p> + * <b>IPP Compatibility:</b> CopiesSupported is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class CopiesSupported extends SetOfIntegerSyntax implements SupportedValuesAttribute @@ -50,25 +58,59 @@ public final class CopiesSupported extends SetOfIntegerSyntax private static final long serialVersionUID = 6927711687034846001L; /** - * Constructs a <code>CopiesSupported</code> object. + * Constructs a <code>CopiesSupported</code> object with + * the given value. This means that only this value is + * supported for copies. + * + * @param member the member value + * @exception IllegalArgumentException if member is < 1 */ public CopiesSupported(int member) { super(member); + + if (member < 1) + throw new IllegalArgumentException("member may not be less than 1"); } /** - * Constructs a <code>CopiesSupported</code> object. + * Constructs a <code>CopiesSupported</code> object with + * the given range of values. This means that values for + * copies are supported inside the specified range. + * + * @param lowerBound the lower bound value + * @param upperBound the upper bound value + * + * @exception IllegalArgumentException if lowerBound < 1 */ public CopiesSupported(int lowerBound, int upperBound) { super(lowerBound, upperBound); + + if (lowerBound < 1) + throw new IllegalArgumentException("lowerBound may not be less than 1"); + } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof CopiesSupported)) + return false; + + return super.equals(obj); } /** * Returns category of this class. * - * @return the class <code>CopiesSupported</code> itself + * @return The class <code>CopiesSupported</code> itself. */ public Class getCategory() { @@ -78,7 +120,7 @@ public final class CopiesSupported extends SetOfIntegerSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "copies-supported". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java index fbb9e084a20..36b740ef30f 100644 --- a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java +++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java @@ -1,5 +1,5 @@ /* DateTimeAtCompleted.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,14 @@ import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>DateTimeAtCompleted</code> attribute specifies the date and + * the time at which a print job completed (or was canceled or aborted). + * <p> + * <b>IPP Compatibility:</b> DateTimeAtCompleted is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.DateTimeAtCreation + * @see javax.print.attribute.standard.DateTimeAtProcessing + * * @author Michael Koch (konqueror@gmx.de) */ public final class DateTimeAtCompleted extends DateTimeSyntax @@ -64,11 +72,12 @@ public final class DateTimeAtCompleted extends DateTimeSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +90,7 @@ public final class DateTimeAtCompleted extends DateTimeSyntax /** * Returns category of this class. * - * @return the class <code>DateTimeAtCompleted</code> itself + * @return The class <code>DateTimeAtCompleted</code> itself. */ public Class getCategory() { @@ -89,9 +98,9 @@ public final class DateTimeAtCompleted extends DateTimeSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "date-time-at-completed" + * @return The name "date-time-at-completed". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java index b98af57a7c7..b463c40ac88 100644 --- a/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java +++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java @@ -1,5 +1,5 @@ /* DateTimeAtCreation.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,14 @@ import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>DateTimeAtCreation</code> attribute specifies the + * date and the time at which a print job was created. + * <p> + * <b>IPP Compatibility:</b> DateTimeAtCreation is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.DateTimeAtCompleted + * @see javax.print.attribute.standard.DateTimeAtProcessing + * * @author Michael Koch (konqueror@gmx.de) */ public final class DateTimeAtCreation extends DateTimeSyntax @@ -64,11 +72,12 @@ public final class DateTimeAtCreation extends DateTimeSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +90,7 @@ public final class DateTimeAtCreation extends DateTimeSyntax /** * Returns category of this class. * - * @return the class <code>DateTimeAtCreation</code> itself + * @return The class <code>DateTimeAtCreation</code> itself. */ public Class getCategory() { @@ -89,9 +98,9 @@ public final class DateTimeAtCreation extends DateTimeSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "date-time-at-creation" + * @return The name "date-time-at-creation". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java b/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java index ff537b98a85..42dee8048eb 100644 --- a/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java +++ b/libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java @@ -1,5 +1,5 @@ /* DateTimeAtProcessing.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,14 @@ import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>DateTimeAtProcessing</code> attribute specifies the date + * and the time at which a print job started processing. + * <p> + * <b>IPP Compatibility:</b> DateTimeAtProcessing is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.DateTimeAtCompleted + * @see javax.print.attribute.standard.DateTimeAtCreation + * * @author Michael Koch (konqueror@gmx.de) */ public final class DateTimeAtProcessing extends DateTimeSyntax @@ -64,11 +72,12 @@ public final class DateTimeAtProcessing extends DateTimeSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +90,7 @@ public final class DateTimeAtProcessing extends DateTimeSyntax /** * Returns category of this class. * - * @return the class <code>DateTimeAtProcessing</code> itself + * @return The class <code>DateTimeAtProcessing</code> itself. */ public Class getCategory() { @@ -89,9 +98,9 @@ public final class DateTimeAtProcessing extends DateTimeSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "date-time-at-processing" + * @return The name "date-time-at-processing". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/Destination.java b/libjava/classpath/javax/print/attribute/standard/Destination.java index c2da19926f4..1a4e79dd8f8 100644 --- a/libjava/classpath/javax/print/attribute/standard/Destination.java +++ b/libjava/classpath/javax/print/attribute/standard/Destination.java @@ -45,7 +45,27 @@ import javax.print.attribute.PrintRequestAttribute; import javax.print.attribute.URISyntax; /** + * The <code>Destination</code> attribute provides a URI for an alternate + * destination of the printing output. + * <p> + * As not an IPP attribute many print services will not support this + * attribute and only provide the printer device as a destination. + * An alternate output destination would be a file on the local harddisk + * given as a file scheme URI. + * </p> + * <p> + * If a print service does not support the destination attributes URI it + * will throw a PrintException. This exception may further implement the + * interface {@link javax.print.URIException}. + * </p> + * <p> + * <b>IPP Compatibility:</b> Destination is not an IPP 1.1 attribute. + * </p> + * @see javax.print.PrintException + * @see javax.print.URIException + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class Destination extends URISyntax implements PrintJobAttribute, PrintRequestAttribute @@ -54,16 +74,35 @@ public final class Destination extends URISyntax /** * Constructs a <code>Destination</code> object. + * + * @param uri the URI of the output destination. + * @throws NullPointerException if the given uri is null. */ public Destination(URI uri) { super(uri); } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof Destination)) + return false; + + return super.equals(obj); + } /** * Returns category of this class. * - * @return the class <code>Destination</code> itself + * @return The class <code>Destination</code> itself. */ public Class getCategory() { @@ -71,12 +110,12 @@ public final class Destination extends URISyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-uri" + * @return The name "spool-data-destination" */ public String getName() { - return "destination"; + return "spool-data-destination"; } } diff --git a/libjava/classpath/javax/print/attribute/standard/DocumentName.java b/libjava/classpath/javax/print/attribute/standard/DocumentName.java index 2c472aa2012..d1428ed8b79 100644 --- a/libjava/classpath/javax/print/attribute/standard/DocumentName.java +++ b/libjava/classpath/javax/print/attribute/standard/DocumentName.java @@ -1,5 +1,5 @@ /* DocumentName.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,18 @@ import javax.print.attribute.DocAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>DocumentName</code> printing attribute specifies a document name. + * <p> + * The document name may be different than the name of the job. It must not be + * unique across multiple documents in the same print job. Normally, an + * application provides the document name for the user by using e.g. the file + * name or a name generated automatically by the application. + * </p> + * <p> + * <b>IPP Compatibility:</b> DocumentName is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobName + * * @author Michael Koch (konqueror@gmx.de) */ public final class DocumentName extends TextSyntax @@ -55,6 +67,8 @@ public final class DocumentName extends TextSyntax * Creates a <code>DocumentName</code> object. * * @param documentName the document name + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * * @exception NullPointerException if documentName is null */ @@ -64,11 +78,12 @@ public final class DocumentName extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +96,7 @@ public final class DocumentName extends TextSyntax /** * Returns category of this class. * - * @return the class <code>DocumentName</code> itself + * @return The class <code>DocumentName</code> itself. */ public Class getCategory() { @@ -89,9 +104,9 @@ public final class DocumentName extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "document-name" + * @return The name "document-name". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/Fidelity.java b/libjava/classpath/javax/print/attribute/standard/Fidelity.java index 9b26906fdb6..02e292f58b4 100644 --- a/libjava/classpath/javax/print/attribute/standard/Fidelity.java +++ b/libjava/classpath/javax/print/attribute/standard/Fidelity.java @@ -1,5 +1,5 @@ /* Fidelity.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -33,7 +33,8 @@ 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. */ +exception statement from your version. */ + package javax.print.attribute.standard; @@ -43,15 +44,53 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>Fidelity</code> attribute specifies how a print job is handled + * if the supplied attributes are not fully supported. + * <p> + * There may be conflicts between the client requested attributes and the + * attributes supported by the printer object. Such situations are controlled + * through the client by providing this attribute to indicate the wanted + * conflict handling mechanism: + * <ul> + * <li>{@link #FIDELITY_TRUE}: Reject the job since the job can not be + * processed exactly as specified by the attributes of the client.</li> + * <li>{@link #FIDELITY_FALSE}: The Printer may make any changes necessary + * to proceed with processing the Job as good as possible.</li> + * </ul> + * </p> + * <p> + * <b>IPP Compatibility:</b> Fidelity is an IPP 1.1 attribute. The IPP name + * is "ipp-attribute-fidelity". The IPP specification treats Fidelity as a + * boolean type which is not available in the Java Print Service API. The IPP + * boolean value "true" corresponds to <code>FIDELITY_TRUE</code> and "false" + * to <code>FIDELITY_FALSE</code>. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class Fidelity extends EnumSyntax implements PrintJobAttribute, PrintRequestAttribute { private static final long serialVersionUID = 6320827847329172308L; + /** + * Requests that the job is printed exactly as specified, + * or rejected otherwise. + */ public static final Fidelity FIDELITY_TRUE = new Fidelity(0); + + /** + * Requests that the job is printed as exactly as reasonable. This means + * that the print service may choose to substitute the default value + * associated with that attribute, or use some other supported value that + * is similar to the unsupported requested value. + */ public static final Fidelity FIDELITY_FALSE = new Fidelity(1); + + private static final String[] stringTable = { "true", "false" }; + private static final Fidelity[] enumValueTable = { FIDELITY_TRUE, + FIDELITY_FALSE }; /** * Constructs a <code>Fidelity</code> object. @@ -66,7 +105,7 @@ public final class Fidelity extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>Fidelity</code> itself + * @return The class <code>Fidelity</code> itself. */ public Class getCategory() { @@ -76,10 +115,31 @@ public final class Fidelity extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "ipp-attribute-fidelity". */ public String getName() { - return "fidelity"; + return "ipp-attribute-fidelity"; + } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; } } diff --git a/libjava/classpath/javax/print/attribute/standard/Finishings.java b/libjava/classpath/javax/print/attribute/standard/Finishings.java index 1224c1da163..6d474a6ead1 100644 --- a/libjava/classpath/javax/print/attribute/standard/Finishings.java +++ b/libjava/classpath/javax/print/attribute/standard/Finishings.java @@ -1,5 +1,5 @@ /* Finishings.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -33,7 +33,8 @@ 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. */ +exception statement from your version. */ + package javax.print.attribute.standard; @@ -44,32 +45,184 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>Finishings</code> attribute specifies the finishing operations + * that the Printer applies to every copy of each printed document in the Job. + * <p> + * Standard enum values are: <code>NONE</code>, <code>STAPLE</code>, + * <code>COVER</code>, <code>BIND</code>, <code>SADDLE_STITCH</code>, + * <code>EDGE_STITCH</code>. + * <br><br> + * The following values are more specific: + * <code>STAPLE_TOP_LEFT</code>, <code>STAPLE_BOTTOM_LEFT</code>, + * <code>STAPLE_TOP_RIGHT</code>, <code>STAPLE_BOTTOM_RIGHT</code>, + * <code>EDGE_STITCH_LEFT</code>, <code>EDGE_STITCH_TOP</code>, + * <code>EDGE_STITCH_RIGHT</code>, <code>EDGE_STITCH_BOTTOM</code>, + * <code>STAPLE_DUAL_LEFT</code>, <code>STAPLE_DUAL_TOP</code>, + * <code>STAPLE_DUAL_RIGHT</code>, <code>STAPLE_DUAL_BOTTOM</code>. + * </p> + * <p> + * <b>Note:</b> The effect of this attribute on jobs with multiple documents + * is controlled by the job attribute + * {@link javax.print.attribute.standard.MultipleDocumentHandling}. + * </p> + * <p> + * <b>IPP Compatibility:</b> Finishings is an IPP 1.1 attribute. Differences + * to the IPP specification are that in the Java Print Service API only one + * enum value is supported (in IPP a set of enums). Further the enum + * <code>punch</code> is not supported. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@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); + /** + * Perform no finishings of the documents. + */ + public static final Finishings NONE = new Finishings(3); + + /** + * Selects binding of the documents with one or more staples. + */ + public static final Finishings STAPLE = new Finishings(4); + + /** + * Selects the use of a non-printed (or pre-printed) cover for + * the document. + */ + public static final Finishings COVER = new Finishings(6); + + /** + * Selects that a binding is to be applied to the document. + * The type and placement of the binding is site-defined. + */ + public static final Finishings BIND = new Finishings(7); + + /** + * Selects binding of the documents with one or more staples + * along the middle fold. + */ + public static final Finishings SADDLE_STITCH = new Finishings(8); + + /** + * Selects binding of the documents with one or more staples + * along one edge. + */ + public static final Finishings EDGE_STITCH = new Finishings(9); + + /** + * Selects binding of the documents with one or more staples + * in the top left corner. + */ + public static final Finishings STAPLE_TOP_LEFT = new Finishings(20); + + /** + * Selects binding of the documents with one or more staples in the bottom + * left corner. + */ + public static final Finishings STAPLE_BOTTOM_LEFT = new Finishings(21); + + /** + * Selects binding of the documents with one or more staples in + * the top right corner. + */ + public static final Finishings STAPLE_TOP_RIGHT = new Finishings(22); + + /** + * Selects binding of the documents with one or more staples in + * the bottom right corner. + */ + public static final Finishings STAPLE_BOTTOM_RIGHT = new Finishings(23); + + /** + * Selects binding of the documents with one or more staples + * along the left edge. + */ + public static final Finishings EDGE_STITCH_LEFT = new Finishings(24); + + /** + * Selects binding of the documents with one or more staples along + * the top edge. + */ + public static final Finishings EDGE_STITCH_TOP = new Finishings(25); + + /** + * Selects binding of the documents with one or more staples along + * the right edge. + */ + public static final Finishings EDGE_STITCH_RIGHT = new Finishings(26); + + /** + * Selects binding of the documents with one or more staples along + * the bottom edge. + */ + public static final Finishings EDGE_STITCH_BOTTOM = new Finishings(27); + + /** + * Selects binding of the documents with two staples along the + * left edge assuming a portrait document. + */ + public static final Finishings STAPLE_DUAL_LEFT = new Finishings(28); + + /** + * Selects binding of the documents with two staples along the + * top edge assuming a portrait document. + */ + public static final Finishings STAPLE_DUAL_TOP = new Finishings(29); + + /** + * Selects binding of the documents with two staples along the + * right edge assuming a portrait document. + */ + public static final Finishings STAPLE_DUAL_RIGHT = new Finishings(30); + + /** + * Selects binding of the documents with two staples along the + * bottom edge assuming a portrait document. + */ + public static final Finishings STAPLE_DUAL_BOTTOM = new Finishings(31); + private static final String[] stringTable = { "none", "staple", null, + "cover", "bind", "saddle-stitch", + "edge-stitch", null, null, null, + null, null, null, null, null, + null, null, "staple-top-left", + "staple-bottom-left", + "staple-top-right", + "staple-bottom-right", + "edge-stitch-left", + "edge-stitch-top", + "edge-stitch-right", + "edge-stitch-bottom", + "staple-dual-left", + "staple-dual-top", + "staple-dual-right", + "staple-dual-bottom" }; + + private static final Finishings[] enumValueTable = { NONE, STAPLE, null, + COVER, BIND, + SADDLE_STITCH, + EDGE_STITCH, null, + null, null, null, + null, null, null, + null, null, null, + STAPLE_TOP_LEFT, + STAPLE_BOTTOM_LEFT, + STAPLE_TOP_RIGHT, + STAPLE_BOTTOM_RIGHT, + EDGE_STITCH_LEFT, + EDGE_STITCH_TOP, + EDGE_STITCH_RIGHT, + EDGE_STITCH_BOTTOM, + STAPLE_DUAL_LEFT, + STAPLE_DUAL_TOP, + STAPLE_DUAL_RIGHT, + STAPLE_DUAL_BOTTOM }; + /** * Constructs a <code>Finishings</code> object. * @@ -93,10 +246,41 @@ public class Finishings extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "finishings". */ public String getName() { return "finishings"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } + + /** + * Returns the lowest used value by the enumerations of this class. + * . + * @return The lowest value used. + */ + protected int getOffset() + { + return 3; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java b/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java index 5f054638280..768600f8065 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java +++ b/libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java @@ -1,5 +1,5 @@ /* JobHoldUntil.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,6 +45,19 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** + * The <code>JobHoldUntil</code> attribute specifies the date + * and the time at which a print job must become a candidate + * for printing. + * <p> + * <b>IPP Compatibility:</b> JobHoldUntil is an IPP 1.1 attribute. + * However the attribute in IPP is based on keywords of named + * time periods like day-time or evening. It will depend on the + * concrete implementation of a print service how a mapping of the + * detailed provided date and time of this attribute to the named + * keyword or an alternate extension attribute will be done. E.g. + * CUPS supports also a HH:MM format as extension to the keywords. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class JobHoldUntil extends DateTimeSyntax @@ -65,11 +78,12 @@ public final class JobHoldUntil extends DateTimeSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +96,7 @@ public final class JobHoldUntil extends DateTimeSyntax /** * Returns category of this class. * - * @return the class <code>JobHoldUntil</code> itself + * @return The class <code>JobHoldUntil</code> itself. */ public Class getCategory() { @@ -90,9 +104,9 @@ public final class JobHoldUntil extends DateTimeSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-hold-until" + * @return The name "job-hold-until". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressions.java b/libjava/classpath/javax/print/attribute/standard/JobImpressions.java index a29c24cd4e2..0da3e59cf24 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobImpressions.java +++ b/libjava/classpath/javax/print/attribute/standard/JobImpressions.java @@ -1,5 +1,5 @@ /* JobImpressions.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,31 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** + * The <code>JobImpressions</code> printing attribute specifies + * the total size in number of impressions of the documents + * of a a print job. + * <p> + * An impression is specified by the IPP specification as the image + * (possibly many print-stream pages in different configurations) + * imposed onto a single media sheet. This attribute must not include + * a multiplication factor from the number of copies which maybe specified + * in a Copies attribute. + * </p> + * <p> + * This attribute belongs to a group of job size attributes which are + * describing the size of a job to be printed. The values supplied by + * these attributes are intended to be used for routing and scheduling + * of jobs on the print service. A client may specify these attributes. + * If a clients supplies these attributes a print service may change + * the values if its be able to compute a more accurate value at the + * time of the job submission or also later. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobImpressions is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobKOctets + * @see javax.print.attribute.standard.JobMediaSheets + * * @author Michael Koch */ public final class JobImpressions extends IntegerSyntax @@ -54,7 +79,7 @@ public final class JobImpressions extends IntegerSyntax * * @param value the number of impressions * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public JobImpressions(int value) { @@ -65,11 +90,12 @@ public final class JobImpressions extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +108,7 @@ public final class JobImpressions extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobImpressions</code> itself + * @return The class <code>JobImpressions</code> itself. */ public Class getCategory() { @@ -90,9 +116,9 @@ public final class JobImpressions extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-impressions" + * @return The name "job-impressions". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java b/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java index d1b3e964e23..82da507a044 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java +++ b/libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java @@ -1,5 +1,5 @@ /* JobImpressionsCompleted.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,23 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>JobImpressionsCompleted</code> printing attribute reports + * the number of impressions already processed. + * <p> + * An impression is specified by the IPP specification as the image imposed + * onto a single media sheet. This attribute will not include a multiplication + * factor from the number of copies. + * </p> + * <p> + * This attribute belongs to a group of job progress attributes which are + * reporting on the progress of a print job. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobImpressionsCompleted is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobMediaSheetsCompleted + * @see javax.print.attribute.standard.JobKOctetsProcessed + * * @author Michael Koch (konqueror@gmx.de) */ public final class JobImpressionsCompleted extends IntegerSyntax @@ -53,7 +70,7 @@ public final class JobImpressionsCompleted extends IntegerSyntax * * @param value the number of completed impressions * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public JobImpressionsCompleted(int value) { @@ -64,11 +81,12 @@ public final class JobImpressionsCompleted extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +99,7 @@ public final class JobImpressionsCompleted extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobImpressionsCompleted</code> itself + * @return The class <code>JobImpressionsCompleted</code> itself. */ public Class getCategory() { @@ -89,12 +107,12 @@ public final class JobImpressionsCompleted extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-impressions-completed" + * @return The name "job-impressions-completed". */ public String getName() { - return "job-impressions"; + return "job-impressions-completed"; } } diff --git a/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java index 0ba7089c6d3..bd10457513c 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java @@ -1,5 +1,5 @@ /* JobImpressionsSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,15 @@ import javax.print.attribute.SupportedValuesAttribute; /** + * The <code>JobImpressionsSupported</code> printing attribute specifies the + * supported range of values for the + * {@link javax.print.attribute.standard.JobImpressions} attribute. + * <p> + * <b>IPP Compatibility:</b> JobImpressionsSupported is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class JobImpressionsSupported extends SetOfIntegerSyntax implements SupportedValuesAttribute @@ -50,17 +58,43 @@ public final class JobImpressionsSupported extends SetOfIntegerSyntax private static final long serialVersionUID = -4887354803843173692L; /** - * Constructs a <code>JobImpressionsSupported</code> object. + * Constructs a <code>JobImpressionsSupported</code> object with the + * given range of supported job impressions values. + * + * @param lowerBound the lower bound value + * @param upperBound the upper bound value + * + * @exception IllegalArgumentException if lowerBound <= upperbound + * and lowerBound < 1 */ public JobImpressionsSupported(int lowerBound, int upperBound) { super(lowerBound, upperBound); + + if (lowerBound < 1) + throw new IllegalArgumentException("lowerBound may not be less than 1"); + } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof JobImpressionsSupported)) + return false; + + return super.equals(obj); } /** * Returns category of this class. * - * @return the class <code>JobImpressionsSupported</code> itself + * @return The class <code>JobImpressionsSupported</code> itself. */ public Class getCategory() { @@ -70,7 +104,7 @@ public final class JobImpressionsSupported extends SetOfIntegerSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "job-impressions-supported". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctets.java b/libjava/classpath/javax/print/attribute/standard/JobKOctets.java index 71f02c577a7..b380aa17ce9 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobKOctets.java +++ b/libjava/classpath/javax/print/attribute/standard/JobKOctets.java @@ -1,5 +1,5 @@ /* JobKOctets.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,30 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** + * The <code>JobKOctets</code> printing attribute specifies + * the total size of all the documents of a print job in K octets. + * <p> + * The supplied value has to be rounded up, so that a range between + * 1 and 1024 octects is specified as 1 and a range between 1025 and + * 2048 octects as 2, etc. This attribute must not include a multiplication + * factor from the number of copies which maybe specified in a Copies + * attribute. + * </p> + * <p> + * This attribute belongs to a group of job size attributes which are + * describing the size of a job to be printed. The values supplied by + * these attributes are intended to be used for routing and scheduling + * of jobs on the print service. A client may specify these attributes. + * If a clients supplies these attributes a print service may change + * the values if its be able to compute a more accurate value at the + * time of the job submission or also later. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobKOctets is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobMediaSheets + * @see javax.print.attribute.standard.JobImpressions + * * @author Michael Koch */ public final class JobKOctets extends IntegerSyntax @@ -51,10 +75,11 @@ public final class JobKOctets extends IntegerSyntax /** * Creates a <code>JobKOctets</code> object. + * The value is in units of K (1024) octets rounded up to the next highest K. * * @param value the number of K octets * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public JobKOctets(int value) { @@ -65,11 +90,12 @@ public final class JobKOctets extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +108,7 @@ public final class JobKOctets extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobKOctets</code> itself + * @return The class <code>JobKOctets</code> itself. */ public Class getCategory() { @@ -90,9 +116,9 @@ public final class JobKOctets extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-k-octets" + * @return The name "job-k-octets". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java b/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java index 7561222ca6a..762369565e2 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java +++ b/libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java @@ -1,5 +1,5 @@ /* JobKOctetsProcessed.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,23 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>JobKOctetsProcessed</code> printing attribute reports + * the total number of octets already processed in K octets units. + * <p> + * The supplied value will be rounded up to the next highest K octets. + * This attribute will not include a multiplication factor from the number + * of copies. + * </p> + * <p> + * This attribute belongs to a group of job progress attributes which are + * reporting on the progress of a print job. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobKOctetsProcessed is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobMediaSheetsCompleted + * @see javax.print.attribute.standard.JobImpressionsCompleted + * * @author Michael Koch */ public final class JobKOctetsProcessed extends IntegerSyntax @@ -50,10 +67,11 @@ public final class JobKOctetsProcessed extends IntegerSyntax /** * Creates a <code>JobKOctetsProcessed</code> object. + * The value is in units of K (1024) octets rounded up to the next highest K. * * @param value the number of processed K octets * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public JobKOctetsProcessed(int value) { @@ -64,11 +82,12 @@ public final class JobKOctetsProcessed extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +100,7 @@ public final class JobKOctetsProcessed extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobKOctetsProcessed</code> itself + * @return The class <code>JobKOctetsProcessed</code> itself. */ public Class getCategory() { @@ -89,9 +108,9 @@ public final class JobKOctetsProcessed extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-k-octets-processed" + * @return The name "job-k-octets-processed". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java index 303dc953bd0..8a4cbfc8c16 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java @@ -1,5 +1,5 @@ /* JobKOctetsSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,15 @@ import javax.print.attribute.SupportedValuesAttribute; /** + * The <code>JobKOctetsSupported</code> printing attribute specifies the + * supported range of values for the + * {@link javax.print.attribute.standard.JobKOctets} attribute. + * <p> + * <b>IPP Compatibility:</b> JobKOctetsSupported is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class JobKOctetsSupported extends SetOfIntegerSyntax implements SupportedValuesAttribute @@ -50,17 +58,43 @@ public final class JobKOctetsSupported extends SetOfIntegerSyntax private static final long serialVersionUID = -2867871140549897443L; /** - * Constructs a <code>JobKOctetsSupported</code> object. + * Constructs a <code>JobKOctetsSupported</code> object with the + * given range for supported K octets. + * + * @param lowerBound the lower bound value + * @param upperBound the upper bound value + * + * @exception IllegalArgumentException if lowerBound <= upperbound + * and lowerBound < 1 */ public JobKOctetsSupported(int lowerBound, int upperBound) { super(lowerBound, upperBound); + + if (lowerBound < 1) + throw new IllegalArgumentException("lowerBound may not be less than 1"); + } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof JobKOctetsSupported)) + return false; + + return super.equals(obj); } /** * Returns category of this class. * - * @return the class <code>ColorSupported</code> itself + * @return The class <code>JobKOctetsSupported</code> itself. */ public Class getCategory() { @@ -70,7 +104,7 @@ public final class JobKOctetsSupported extends SetOfIntegerSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "job-k-octets-supported". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java index 662c54acb22..75e072c54a6 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java @@ -1,5 +1,5 @@ /* JobMediaSheets.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,28 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** + * The <code>JobMediaSheets</code> printing attribute specifies + * the total number of media sheets needed by a job. + * <p> + * In contrary to the other job size attributes this attribute must include + * the multiplication factor from the number of copies if a Copies attribute + * was specified for the job. + * </p> + * <p> + * This attribute belongs to a group of job size attributes which are + * describing the size of a job to be printed. The values supplied by + * these attributes are intended to be used for routing and scheduling + * of jobs on the print service. A client may specify these attributes. + * If a clients supplies these attributes a print service may change + * the values if its be able to compute a more accurate value at the + * time of the job submission or also later. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobMediaSheets is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobKOctets + * @see javax.print.attribute.standard.JobImpressions + * * @author Michael Koch */ public class JobMediaSheets extends IntegerSyntax @@ -54,7 +76,7 @@ public class JobMediaSheets extends IntegerSyntax * * @param value the number of media sheets for a print job * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public JobMediaSheets(int value) { @@ -65,11 +87,12 @@ public class JobMediaSheets extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +105,7 @@ public class JobMediaSheets extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobMediaSheets</code> itself + * @return The class <code>JobMediaSheets</code> itself. */ public Class getCategory() { @@ -90,9 +113,9 @@ public class JobMediaSheets extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-media-sheets" + * @return The name "job-media-sheets". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java index 09b82bfcdcc..85b9ab0481e 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java @@ -1,5 +1,5 @@ /* JobMediaSheetsCompleted.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,18 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>JobMediaSheetsCompleted</code> printing attribute reports + * the number of media sheets already processed. + * <p> + * This attribute belongs to a group of job progress attributes which are + * reporting on the progress of a print job. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobMediaSheetsCompleted is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobImpressionsCompleted + * @see javax.print.attribute.standard.JobKOctetsProcessed + * * @author Michael Koch */ public final class JobMediaSheetsCompleted extends IntegerSyntax @@ -51,9 +63,9 @@ public final class JobMediaSheetsCompleted extends IntegerSyntax /** * Creates a <code>JobMediaSheetsCompleted</code> object. * - * @param value the number of completed media sheets for a print job + * @param value the number of completed media sheets * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public JobMediaSheetsCompleted(int value) { @@ -64,11 +76,12 @@ public final class JobMediaSheetsCompleted extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +94,7 @@ public final class JobMediaSheetsCompleted extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobMediaSheetsCompleted</code> itself + * @return The class <code>JobMediaSheetsCompleted</code> itself. */ public Class getCategory() { @@ -89,9 +102,9 @@ public final class JobMediaSheetsCompleted extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-media-sheets-completed" + * @return The name "job-media-sheets-completed". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java index 392fe7ed708..cb06af6fabe 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java @@ -1,5 +1,5 @@ /* JobMediaSheetsSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,15 @@ import javax.print.attribute.SupportedValuesAttribute; /** + * The <code>JobMediaSheetsSupported</code> printing attribute specifies the + * supported range of values for the + * {@link javax.print.attribute.standard.JobMediaSheets} attribute. + * <p> + * <b>IPP Compatibility:</b> JobMediaSheetsSupported is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class JobMediaSheetsSupported extends SetOfIntegerSyntax implements SupportedValuesAttribute @@ -50,17 +58,43 @@ public final class JobMediaSheetsSupported extends SetOfIntegerSyntax private static final long serialVersionUID = 2953685470388672940L; /** - * Constructs a <code>JobMediaSheetsSupported</code> object. + * Constructs a <code>JobMediaSheetsSupported</code> object with the + * given range of supported job media sheets values. + * + * @param lowerBound the lower bound value + * @param upperBound the upper bound value + * + * @exception IllegalArgumentException if lowerBound <= upperbound + * and lowerBound < 1 */ public JobMediaSheetsSupported(int lowerBound, int upperBound) { super(lowerBound, upperBound); + + if (lowerBound < 1) + throw new IllegalArgumentException("lowerBound may not be less than 1"); + } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof JobMediaSheetsSupported)) + return false; + + return super.equals(obj); } /** * Returns category of this class. * - * @return the class <code>JobMediaSheetsSupported</code> itself + * @return The class <code>JobMediaSheetsSupported</code> itself. */ public Class getCategory() { @@ -70,7 +104,7 @@ public final class JobMediaSheetsSupported extends SetOfIntegerSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "job-media-sheets-supported". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java b/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java index 84eab8b6219..8eaae357c88 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java +++ b/libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java @@ -1,5 +1,5 @@ /* JobMessageFromOperator.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,15 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>JobMessageFromOperator</code> printing attribute provides + * a message from an operator or a system administrator related to the + * print job. This may include information why a certain action has been + * taken on the print job like a modification. + * <p> + * <b>IPP Compatibility:</b> JobMessageFromOperator is an IPP 1.1 + * attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class JobMessageFromOperator extends TextSyntax @@ -55,8 +64,10 @@ public final class JobMessageFromOperator extends TextSyntax * Creates a <code>JobMessageFromOperator</code> object. * * @param message the message + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if message is null + * @exception NullPointerException if message is <code>null</code>. */ public JobMessageFromOperator(String message, Locale locale) { @@ -64,11 +75,12 @@ public final class JobMessageFromOperator extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +93,7 @@ public final class JobMessageFromOperator extends TextSyntax /** * Returns category of this class. * - * @return the class <code>JobMessageFromOperator</code> itself + * @return The class <code>JobMessageFromOperator</code> itself. */ public Class getCategory() { @@ -89,9 +101,9 @@ public final class JobMessageFromOperator extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-message-from-operator" + * @return The name "job-message-from-operator". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobName.java b/libjava/classpath/javax/print/attribute/standard/JobName.java index a64a88cf395..c848a63d35e 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobName.java +++ b/libjava/classpath/javax/print/attribute/standard/JobName.java @@ -1,5 +1,5 @@ /* JobName.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -45,6 +45,12 @@ import javax.print.attribute.PrintRequestAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>JobName</code> printing attribute provides the name of a + * print job for identification. + * <p> + * <b>IPP Compatibility:</b> JobName is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class JobName extends TextSyntax @@ -55,9 +61,11 @@ public final class JobName extends TextSyntax /** * Creates a <code>JobName</code> object. * - * @param jobName the job name + * @param jobName the job name. + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if jobName is null + * @exception NullPointerException if jobName is <code>null</code>. */ public JobName(String jobName, Locale locale) { @@ -65,11 +73,12 @@ public final class JobName extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +91,7 @@ public final class JobName extends TextSyntax /** * Returns category of this class. * - * @return the class <code>JobName</code> itself + * @return The class <code>JobName</code> itself. */ public Class getCategory() { @@ -90,9 +99,9 @@ public final class JobName extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-name" + * @return The name "job-name". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java b/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java index 116de28cfb7..2d6e79df654 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java +++ b/libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java @@ -1,5 +1,5 @@ /* JobOriginatingUserName.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,12 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>JobOriginatingUserName</code> attribute specifies the name of + * the user which submitted the print job. + * <p> + * <b>IPP Compatibility:</b> JobOriginatingUserName is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class JobOriginatingUserName extends TextSyntax @@ -55,8 +61,10 @@ public final class JobOriginatingUserName extends TextSyntax * Creates a <code>JobOriginatingUserName</code> object. * * @param userName the user name + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if userName is null + * @exception NullPointerException if userName is <code>null</code>. */ public JobOriginatingUserName(String userName, Locale locale) { @@ -64,11 +72,12 @@ public final class JobOriginatingUserName extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +90,7 @@ public final class JobOriginatingUserName extends TextSyntax /** * Returns category of this class. * - * @return the class <code>JobOriginatingUserName</code> itself + * @return The class <code>JobOriginatingUserName</code> itself. */ public Class getCategory() { @@ -89,9 +98,9 @@ public final class JobOriginatingUserName extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-originating-user-name" + * @return The name "job-originating-user-name". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobPriority.java b/libjava/classpath/javax/print/attribute/standard/JobPriority.java index 6c88dfc9ee5..bcfb239ed9b 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobPriority.java +++ b/libjava/classpath/javax/print/attribute/standard/JobPriority.java @@ -1,5 +1,5 @@ /* JobPriority.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,17 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>JobPriority</code> printing attribute specifies + * the priority for scheduling a job on the print service. + * <p> + * A client may specify any value between 1 (lowest priority) and 100 + * (highest priority). A print service prints jobs with a priority + * value of n before those with a priority value of n-1. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobPriority is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class JobPriority extends IntegerSyntax @@ -55,7 +66,7 @@ public final class JobPriority extends IntegerSyntax * * @param value the priority * - * @exception IllegalArgumentException if value < 1 or value > 100 + * @exception IllegalArgumentException if value < 1 or value > 100 */ public JobPriority(int value) { @@ -66,11 +77,12 @@ public final class JobPriority extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -83,7 +95,7 @@ public final class JobPriority extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobPriority</code> itself + * @return The class <code>JobPriority</code> itself. */ public Class getCategory() { @@ -91,9 +103,9 @@ public final class JobPriority extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-priority" + * @return The name "job-priority". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java b/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java index fdfe6c7c587..0db7107b304 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java +++ b/libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java @@ -1,5 +1,5 @@ /* JobPrioritySupported.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,20 @@ import javax.print.attribute.SupportedValuesAttribute; /** + * The <code>JobPrioritySupported</code> printing attribute provides + * the supported values for the <code>JobPriority</code> attribute. + * <p> + * A client may specify any JobPriority value between 1 and 100. If a + * print service supports fewer priority levels it indicates the maximum + * levels through this attribute. The print service then automatically + * maps the job priority value provided by the client in an even distribution + * over the whole range of 1 to 100. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobPrioritySupported is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobPriority + * * @author Michael Koch (konqueror@gmx.de) */ public final class JobPrioritySupported extends IntegerSyntax @@ -54,7 +68,7 @@ public final class JobPrioritySupported extends IntegerSyntax * * @param value the priority * - * @exception IllegalArgumentException if value < 1 or value > 100 + * @exception IllegalArgumentException if value < 1 or value > 100 */ public JobPrioritySupported(int value) { @@ -65,11 +79,12 @@ public final class JobPrioritySupported extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +97,7 @@ public final class JobPrioritySupported extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>JobPrioritySupported</code> itself + * @return The class <code>JobPrioritySupported</code> itself. */ public Class getCategory() { @@ -90,9 +105,9 @@ public final class JobPrioritySupported extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "job-priority-supported" + * @return The name "job-priority-supported". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/JobSheets.java b/libjava/classpath/javax/print/attribute/standard/JobSheets.java index 183aed2a124..d61acfee99c 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobSheets.java +++ b/libjava/classpath/javax/print/attribute/standard/JobSheets.java @@ -1,5 +1,5 @@ /* JobSheets.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,18 +43,40 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>JobSheets</code> printing attribute specifies if a + * job start/end sheets should be printed. + * <p> + * <b>IPP Compatibility:</b> JobSheets is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class JobSheets extends EnumSyntax implements PrintJobAttribute, PrintRequestAttribute { private static final long serialVersionUID = -4735258056132519759L; + /** + * No job sheet is printed. + */ public static final JobSheets NONE = new JobSheets(0); + + /** + * The standard job sheet is printed. The sheet and if it + * is printed only as start sheet or also as end sheet is + * site specific. + */ public static final JobSheets STANDARD = new JobSheets(1); + private static final String[] stringTable = { "none", "standard" }; + + private static final JobSheets[] enumValueTable = { NONE, STANDARD }; + /** * Constructs a <code>JobSheets</code> object. + * + * @param value the enum value. */ protected JobSheets(int value) { @@ -64,7 +86,7 @@ public class JobSheets extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>JobSheets</code> itself + * @return The class <code>JobSheets</code> itself. */ public Class getCategory() { @@ -74,10 +96,31 @@ public class JobSheets extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "job-sheets". */ public String getName() { return "job-sheets"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/JobState.java b/libjava/classpath/javax/print/attribute/standard/JobState.java index 1350e697f87..bd09e1fb1d2 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobState.java +++ b/libjava/classpath/javax/print/attribute/standard/JobState.java @@ -1,5 +1,5 @@ /* JobState.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,24 +42,90 @@ import javax.print.attribute.PrintJobAttribute; /** + * The <code>JobState</code> printing attribute reports + * the current state of a job. + * <p> + * The {@link javax.print.attribute.standard.JobStateReasons} + * attribute provides further detailed information about + * the given job state. Detailed information about the job + * state and job state reasons can be found in the RFC 2911. + * </p> + * <p> + * <b>IPP Compatibility:</b> JobState is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class JobState extends EnumSyntax implements PrintJobAttribute { private static final long serialVersionUID = 400465010094018920L; + /** + * The job state is currently unknown. + */ 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); + + /** + * The job is pending processing. + */ + public static final JobState PENDING = new JobState(3); + + /** + * The job is currently not a candidate for printing because + * of reasons reported by the job-state-reasons attribute. If + * the reasons are no longer present it will return to the + * pending state. + */ + public static final JobState PENDING_HELD = new JobState(4); + + /** + * The job is currently processed. + */ + public static final JobState PROCESSING = new JobState(5); + + /** + * The job's processing has stopped. The job-state-reasons + * attribute may indicate the reason(s). The job will return + * to the processing state if the reasons are no longer present. + */ + public static final JobState PROCESSING_STOPPED = new JobState(6); + + /** + * The job has been canceled by the client. + */ + public static final JobState CANCELED = new JobState(7); + + /** + * The job has been aborted by the system. + */ + public static final JobState ABORTED = new JobState(8); + + /** + * The job has completed successfully. + */ + public static final JobState COMPLETED = new JobState(9); + + private static final String[] stringTable = { "unknown", null, null, + "pending", "pending-held", + "processing", + "processing-stopped", + "canceled", "aborted", + "completed"}; + + private static final JobState[] enumValueTable = { UNKNOWN, null, null, + PENDING, PENDING_HELD, + PROCESSING, + PROCESSING_STOPPED, + CANCELED, ABORTED, + COMPLETED }; + /** * Constructs a <code>JobState</code> object. + * + * @param value the enum value. */ protected JobState(int value) { @@ -69,7 +135,7 @@ public class JobState extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>JobState</code> itself + * @return The class <code>JobState</code> itself. */ public Class getCategory() { @@ -79,10 +145,31 @@ public class JobState extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "job-state". */ public String getName() { return "job-state"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/JobStateReason.java b/libjava/classpath/javax/print/attribute/standard/JobStateReason.java index 4a9f1a91a98..bd831cda51f 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobStateReason.java +++ b/libjava/classpath/javax/print/attribute/standard/JobStateReason.java @@ -1,5 +1,5 @@ /* JobStateReason.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,45 +42,215 @@ import javax.print.attribute.EnumSyntax; /** + * The <code>JobStateReason</code> attribute provides additional + * information about the current state of a job. Its always part + * of the {@link javax.print.attribute.standard.JobStateReasons} + * printing attribute. + * <p> + * <b>IPP Compatibility:</b> JobStateReason is not an IPP 1.1 + * attribute itself but used inside the <code>JobStateReasons</code> + * attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class JobStateReason extends EnumSyntax implements Attribute { private static final long serialVersionUID = -8765894420449009168L; + /** + * The printer has accepted the job or is retrieving document + * data for processing. + */ public static final JobStateReason JOB_INCOMING = new JobStateReason(0); + + /** + * The printer is expecting additional document data before it + * can move this job into the processing state. + */ public static final JobStateReason JOB_DATA_INSUFFICIENT = new JobStateReason(1); + + /** + * The printer is unable to access one or more documents provided + * by reference in the print job. + */ public static final JobStateReason DOCUMENT_ACCESS_ERROR = new JobStateReason(2); + + /** + * The printer has not received the whole job submission. This + * indicates no reason for the interruption. + */ public static final JobStateReason SUBMISSION_INTERRUPTED = new JobStateReason(3); + + /** + * The printer transfers the job to the actual output device. + */ public static final JobStateReason JOB_OUTGOING = new JobStateReason(4); + + /** + * The job was submitted with a <code>JobHoldUntil</code> attribute which + * specifies a time period still in the future and causes the job to + * be on hold. + */ public static final JobStateReason JOB_HOLD_UNTIL_SPECIFIED = new JobStateReason(5); + + /** + * One or more resources needed by the job are not ready. E.g. needed + * media type. + */ public static final JobStateReason RESOURCES_ARE_NOT_READY = new JobStateReason(6); + + /** + * The printer stopped partly. + */ public static final JobStateReason PRINTER_STOPPED_PARTLY = new JobStateReason(7); + + /** + * The printer stopped complete. + */ public static final JobStateReason PRINTER_STOPPED = new JobStateReason(8); + + /** + * The printer is currently interpreting the jobs document data. + * Detailed state of the job's processing state. + */ public static final JobStateReason JOB_INTERPRETING = new JobStateReason(9); + + /** + * The printer has queued the document data. + * Detailed state of the job's processing state. + */ public static final JobStateReason JOB_QUEUED = new JobStateReason(10); + + /** + * The printer is transforming the document data to another representation. + * Detailed state of the job's processing state. + */ public static final JobStateReason JOB_TRANSFORMING = new JobStateReason(11); + + /** + * The job is queued for marking. + */ public static final JobStateReason JOB_QUEUED_FOR_MARKER = new JobStateReason(12); + + /** + * The job is currently printing. + */ public static final JobStateReason JOB_PRINTING = new JobStateReason(13); + + /** + * The job was canceled by the user (the owner of the job). + */ public static final JobStateReason JOB_CANCELED_BY_USER = new JobStateReason(14); + + /** + * The job was canceled by the operator. + */ public static final JobStateReason JOB_CANCELED_BY_OPERATOR = new JobStateReason(15); + + /** + * The job was canceled by an unidentified local user at the device. + */ public static final JobStateReason JOB_CANCELED_AT_DEVICE = new JobStateReason(16); + + /** + * The job has been aborted by the system. + */ public static final JobStateReason ABORTED_BY_SYSTEM = new JobStateReason(17); + + /** + * The printer aborted the job because of an unsupported compression while + * trying to decompress the document data. + */ public static final JobStateReason UNSUPPORTED_COMPRESSION = new JobStateReason(18); + + /** + * The printer aborted the job because of a compression error while + * trying to decompress the document data. If this state is given the test + * for supported compression has already been passed. + */ public static final JobStateReason COMPRESSION_ERROR = new JobStateReason(19); + + /** + * The printer aborted the job because of the document format is not supported. + * This may happen if a job is specified as application/octet-stream format. + */ public static final JobStateReason UNSUPPORTED_DOCUMENT_FORMAT = new JobStateReason(20); + + /** + * The printer aborted the job because of an error in the document data. + */ public static final JobStateReason DOCUMENT_FORMAT_ERROR = new JobStateReason(21); + + /** + * The client has either canceled the job or the printer aborted the job. + * However the printer still performs some action on the job e.g. to cleanup. + */ public static final JobStateReason PROCESSING_TO_STOP_POINT = new JobStateReason(22); + + /** + * The printer is offline and therefore is not accepting jobs. + */ public static final JobStateReason SERVICE_OFF_LINE = new JobStateReason(23); + + /** + * The printer completed the job successfully. + */ public static final JobStateReason JOB_COMPLETED_SUCCESSFULLY = new JobStateReason(24); + + /** + * The printer completed the job with warnings. + */ public static final JobStateReason JOB_COMPLETED_WITH_WARNINGS = new JobStateReason(25); + + /** + * The printer completed the job with errors. + */ public static final JobStateReason JOB_COMPLETED_WITH_ERRORS = new JobStateReason(26); + + /** + * The job is retained and is able to be restared. + */ public static final JobStateReason JOB_RESTARTABLE = new JobStateReason(27); + + /** + * The printer has forwarded the job to the actual output device. This device + * is not capable of reporting the state back so that the job state is set + * to completed by the printer. + */ public static final JobStateReason QUEUED_IN_DEVICE = new JobStateReason(28); + private static final String[] stringTable = + { "job-incoming", "job-data-insufficient", "document-access-error", + "submission-interrupted", "job-outgoing", "job-hold-until-specified", + "resources-are-not-ready", "printer-stopped-partly", "printer-stopped", + "job-interpreting", "job-queued", "job-transforming", + "job-queued-for-marker", "job-printing", "job-canceled-by-user", + "job-canceled-by-operator", "job-canceled-at-device", + "aborted-by-system", "unsupported-compression", "compression-error", + "unsupported-document-format", "document-format-error", + "processing-to-stop-point", "service-off-line", + "job-completed-successfully", "job-completed-with-warnings", + "job-completed-with-errors", "job-restartable", "queued-in-device" }; + + private static final JobStateReason[] enumValueTable = + { JOB_INCOMING, JOB_DATA_INSUFFICIENT, DOCUMENT_ACCESS_ERROR, + SUBMISSION_INTERRUPTED, JOB_OUTGOING, JOB_HOLD_UNTIL_SPECIFIED, + RESOURCES_ARE_NOT_READY, PRINTER_STOPPED_PARTLY, PRINTER_STOPPED, + JOB_INTERPRETING, JOB_QUEUED, JOB_TRANSFORMING, JOB_QUEUED_FOR_MARKER, + JOB_PRINTING, JOB_CANCELED_BY_USER, JOB_CANCELED_BY_OPERATOR, + JOB_CANCELED_AT_DEVICE, ABORTED_BY_SYSTEM, UNSUPPORTED_COMPRESSION, + COMPRESSION_ERROR, UNSUPPORTED_DOCUMENT_FORMAT, DOCUMENT_FORMAT_ERROR, + PROCESSING_TO_STOP_POINT, SERVICE_OFF_LINE, JOB_COMPLETED_SUCCESSFULLY, + JOB_COMPLETED_WITH_WARNINGS, JOB_COMPLETED_WITH_ERRORS, JOB_RESTARTABLE, + QUEUED_IN_DEVICE }; + /** * Constructs a <code>JobStateReason</code> object. + * + * @param value the enum value. */ protected JobStateReason(int value) { @@ -90,7 +260,7 @@ public class JobStateReason extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>JobStateReason</code> itself + * @return The class <code>JobStateReason</code> itself. */ public Class getCategory() { @@ -100,10 +270,31 @@ public class JobStateReason extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "job-state-reason". */ public String getName() { return "job-state-reason"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java b/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java index 39187373ded..9dbca0cd57b 100644 --- a/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java +++ b/libjava/classpath/javax/print/attribute/standard/JobStateReasons.java @@ -1,5 +1,5 @@ /* JobStateReasons.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,12 +38,23 @@ exception statement from your version. */ package javax.print.attribute.standard; +import java.util.Collection; import java.util.HashSet; +import java.util.Iterator; import javax.print.attribute.PrintJobAttribute; /** + * The <code>JobStateReasons</code> attribute provides the set of + * additional informations available about the current state of a print job. + * <p> + * <b>IPP Compatibility:</b> JobStateReasons is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobState + * @see javax.print.attribute.standard.JobStateReason + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class JobStateReasons extends HashSet implements PrintJobAttribute @@ -51,9 +62,82 @@ public final class JobStateReasons extends HashSet private static final long serialVersionUID = 8849088261264331812L; /** + * Constructs an empty <code>JobStateReasons</code> attribute. + */ + public JobStateReasons() + { + super(); + } + + /** + * Constructs an empty <code>JobStateReasons</code> attribute + * with the given initial capacity and load factor. + * + * @param initialCapacity the intial capacity. + * @param loadFactor the load factor of the underlying HashSet. + * + * @throws IllegalArgumentException if initialCapacity < 0 + * @throws IllegalArgumentException if initialCapacity or loadFactor < 0 + */ + public JobStateReasons(int initialCapacity, float loadFactor) + { + super(initialCapacity, loadFactor); + } + + /** + * Constructs an empty <code>JobStateReasons</code> attribute + * with the given initial capacity and the default load factor. + * + * @param initialCapacity the intial capacity. + * + * @throws IllegalArgumentException if initialCapacity < 0 + */ + public JobStateReasons(int initialCapacity) + { + super(initialCapacity); + } + + /** + * Constructs a <code>JobStateReasons</code> attribute + * with the content of the given collection. + * + * @param collection the collection for the initial values. + * + * @throws NullPointerException if collection or any value is + * <code>null</code>. + * @throws ClassCastException if values of collection are not of type + * <code>JobStateReason</code>. + */ + public JobStateReasons(Collection collection) + { + super(collection.size(), 0.75f); + Iterator it = collection.iterator(); + while (it.hasNext()) + add(it.next()); + } + + /** + * Adds the given job state reason object to the set. + * + * @param o the reason of type <code>JobStateReason</code>. + * @return <code>true</code> if set changed, <code>false</code> otherwise. + * + * @throws NullPointerException if given object is <code>null</code>. + * @throws ClassCastException if given object is not an instance of + * <code>JobStateReason</code>. + */ + public boolean add(Object o) + { + if (o == null) + throw new NullPointerException("reason is null"); + + return add((JobStateReason) o); + } + + /** * Returns category of this class. * - * @return the class <code>ColorSupported</code> itself + * @return The class <code>JobStateReasons</code> itself. */ public Class getCategory() { @@ -63,7 +147,7 @@ public final class JobStateReasons extends HashSet /** * Returns the name of this attribute. * - * @return the name + * @return The name "job-state-reasons". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/Media.java b/libjava/classpath/javax/print/attribute/standard/Media.java index ebb15d0d074..202a3f3f091 100644 --- a/libjava/classpath/javax/print/attribute/standard/Media.java +++ b/libjava/classpath/javax/print/attribute/standard/Media.java @@ -1,5 +1,5 @@ /* Media.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,27 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>Media</code> printing attribute specifies which + * type of media should be used for printing. + * <p> + * The media to be used can be specified in three ways represented + * by the media subclasses {@link javax.print.attribute.standard.MediaTray}, + * {@link javax.print.attribute.standard.MediaName} and + * {@link javax.print.attribute.standard.MediaSizeName}: + * <ul> + * <li>Selection by paper source - selection of printer tray to be used.</li> + * <li>Selection by name - e.g. A4 paper.</li> + * <li>Selection by standard sizes - e.g. ISO A5, JIS B4.</li> + * </ul> + * Each of the sublcasses represents the IPP attribute <code>media</code> + * and provides predefined values to be used. + * </p> + * <p> + * <b>IPP Compatibility:</b> Media is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public abstract class Media extends EnumSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute @@ -53,16 +73,37 @@ public abstract class Media extends EnumSyntax /** * Constructs a <code>Media</code> object. + * + * @param value the enum value. */ protected Media(int value) { super(value); } + + /** + * Tests if the given object is equal to this object. + * The objects are considered equal if both are of the same + * Media subclass, not null and the values are equal. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (obj == null) + return false; + + return (obj.getClass() == this.getClass() + && ((Media) obj).getValue() == this.getValue()); + } /** * Returns category of this class. * - * @return the class <code>Media</code> itself + * @return The class <code>Media</code> itself. */ public Class getCategory() { @@ -72,7 +113,7 @@ public abstract class Media extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "media". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/MediaName.java b/libjava/classpath/javax/print/attribute/standard/MediaName.java new file mode 100644 index 00000000000..2fa7cea0970 --- /dev/null +++ b/libjava/classpath/javax/print/attribute/standard/MediaName.java @@ -0,0 +1,121 @@ +/* MediaName.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.EnumSyntax; + +/** + * <code>MediaName</code> is a subclass of the <code>Media</code> printing + * attribute and provides selection of media to be used by the means of + * defined names. The class pre-defines commonly available media names. + * This media type enumeration may be used in alternative to + * MediaSizeName/MediaTray. + * <p> + * <b>IPP Compatibility:</b> MediaName is not an IPP 1.1 attribute on its own. + * It provides parts of the <code>media</code> attribute type values. + * </p> + * + * @author Sven de Marothy + * @author Wolfgang Baer (WBaer@gmx.de) + */ +public class MediaName extends Media +{ + private static final long serialVersionUID = 4653117714524155448L; + + /** + * The North American letter white medium. + */ + public static final MediaName NA_LETTER_WHITE = new MediaName(0); + + /** + * The North American letter transparent medium. + */ + public static final MediaName NA_LETTER_TRANSPARENT = new MediaName(1); + + /** + * The ISO A4 white medium. + */ + public static final MediaName ISO_A4_WHITE = new MediaName(2); + + /** + * The ISO A4 transparent medium. + */ + public static final MediaName ISO_A4_TRANSPARENT = new MediaName(3); + + private static final String[] stringTable = { "na-letter-white", + "na-letter-transparent", + "iso-a4-white", + "iso-a4-transparent" }; + + private static final MediaName[] enumValueTable = { NA_LETTER_WHITE, + NA_LETTER_TRANSPARENT, + ISO_A4_WHITE, + ISO_A4_TRANSPARENT }; + + /** + * Creates a <code>MediaName</code> object. + * + * @param i the enum value. + */ + protected MediaName(int i) + { + super( i ); + } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } +} + diff --git a/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java b/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java index c7cf8d3a991..9a1342cb43f 100644 --- a/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java +++ b/libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java @@ -43,23 +43,71 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** + * The <code>MediaPrintableArea</code> attribute specifies the area + * of a media sheet which is available for printing. + * <p> + * Due to hardware limitation its not possible with most printers to use the + * whole area of a media sheet for printing. This attribute defines the area + * for printing through the values of the upper left corner position (x,y) + * on the sheet and the available width and height of the area. The units of + * the values are determined by two defined constants: + * <ul> + * <li>INCH - defines an inch</li> + * <li>MM - defines a millimeter</li> + * </ul> + * </p> + * <p> + * <b>Internal storage:</b><br> + * The values of x, y, width and height are stored internally in micrometers. + * The values of the provided constants for inch (value 25400) and millimeters + * (value 1000) are used as conversion factors to the internal storage units. + * To get the internal micrometers values a multiplication of a given + * size value with its units constant value is done. Retrieving the size value + * for specific units is done by dividing the internal stored value by the + * units constant value. + * </p> + * <p> + * <b>IPP Compatibility:</b> MediaPrintableArea is not an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class MediaPrintableArea implements DocAttribute, PrintJobAttribute, PrintRequestAttribute { private static final long serialVersionUID = -1597171464050795793L; + /** + * Constant for the units of inches. + * The actual value is the conversion factor to micrometers. + */ public static final int INCH = 25400; + + /** + * Constant for the units of millimeters. + * The actual value is the conversion factor to micrometers. + */ public static final int MM = 1000; - private float x; - private float y; - private float width; - private float height; + /** x in micrometers. */ + private int x; + /** y in micrometers. */ + private int y; + /** width in micrometers. */ + private int width; + /** height in micrometers. */ + private int height; /** - * Creates a new <code>MediaPrintableArea</code> object. + * Creates a new <code>MediaPrintableArea</code> object with the given + * float values for the given units. + * + * @param x start of the printable area on the sheet in x direction. + * @param y start of the printable area on the sheet in y direction. + * @param w the width of the printable area. + * @param h the height of the printable area. + * @param units the units of the given values. * * @throws IllegalArgumentException if x i< 0 or y i< 0 or w i<= 0 * or h i<= 0 or units i< 1 @@ -69,14 +117,21 @@ public final class MediaPrintableArea 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; + this.x = (int) (x * units + 0.5f); + this.y = (int) (y * units + 0.5f); + this.width = (int) (w * units + 0.5f); + this.height = (int) (h * units + 0.5f); } /** - * Creates a new <code>MediaPrintableArea</code> object. + * Creates a new <code>MediaPrintableArea</code> object with the given + * int values for the given units. + * + * @param x start of the printable area on the sheet in x direction. + * @param y start of the printable area on the sheet in y direction. + * @param w the width of the printable area. + * @param h the height of the printable area. + * @param units the units of the given values. * * @throws IllegalArgumentException if x i< 0 or y i< 0 or w i<= 0 * or h i<= 0 or units i< 1 @@ -86,16 +141,16 @@ public final class MediaPrintableArea if (x < 0 || y < 0 || w <= 0 || h <= 0) throw new IllegalArgumentException(); - this.x = x; - this.y = y; - this.width = w; - this.height = h; + this.x = x * units; + this.y = y * units; + this.width = w * units; + this.height = h * units; } /** * Returns category of this class. * - * @return the class <code>MediaPrintableArea</code> itself + * @return The class <code>MediaPrintableArea</code> itself. */ public Class getCategory() { @@ -103,44 +158,154 @@ public final class MediaPrintableArea } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "media-printable-area" + * @return The name "media-printable-area". */ public String getName() { return "media-printable-area"; } + /** + * Returns the height of the printable area for the given units. + * + * @param units the units conversion factor. + * @return The height. + * + * @throws IllegalArgumentException if <code>units</code> is < 1 + */ public float getHeight(int units) { if (units < 1) - throw new IllegalArgumentException(); + throw new IllegalArgumentException("units may not be less than 1"); - return height * units; + return height / ((float)units); } + /** + * Returns the width of the printable area for the given units. + * + * @param units the units conversion factor. + * @return The width. + * + * @throws IllegalArgumentException if <code>units</code> is < 1 + */ public float getWidth(int units) { if (units < 1) - throw new IllegalArgumentException(); + throw new IllegalArgumentException("units may not be less than 1"); - return width * units; + return width / ((float)units); } + /** + * Returns the position in x direction of the printable area + * for the given units. + * + * @param units the units conversion factor. + * @return The position in x direction. + * + * @throws IllegalArgumentException if <code>units</code> is < 1 + */ public float getX(int units) { if (units < 1) - throw new IllegalArgumentException(); + throw new IllegalArgumentException("units may not be less than 1"); - return x * units; + return x / ((float)units); } + /** + * Returns the position in y direction of the printable area + * for the given units. + * + * @param units the units conversion factor. + * @return The position in y direction. + * + * @throws IllegalArgumentException if <code>units</code> is < 1 + */ public float getY(int units) { if (units < 1) - throw new IllegalArgumentException(); + throw new IllegalArgumentException("units may not be less than 1"); - return y * units; + return y / ((float)units); } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof MediaPrintableArea)) + return false; + + MediaPrintableArea tmp = (MediaPrintableArea) obj; + + return (x == tmp.getX(1) && y == tmp.getY(1) + && width == tmp.getWidth(1) && height == tmp.getHeight(1)); + } + + /** + * Returns the string representation for this object in units of millimeters.. + * <p> + * The returned string is in the form "(x,y)->(width,height)mm". + * </p> + * @return The string representation in millimeters. + */ + public String toString() + { + return toString(MM, "mm"); + } + + /** + * Returns the hashcode for this object. + * + * @return The hashcode. + */ + public int hashCode() + { + return x ^ y + width ^ height; + } + + /** + * Returns the string representation for this object in units of millimeters.. + * <p> + * The returned string is in the form "(x,y)->(width,height)unitsName". + * </p> + * @param units the units to use for conversion. + * @param unitsName the name of the used units, appended to the resulting + * string if not <code>null</code>. + * @return The string representation in millimeters. + * + * @throws IllegalArgumentException if <code>units</code> is < 1 + */ + public String toString(int units, String unitsName) + { + if (units < 1) + throw new IllegalArgumentException("units may not be less than 1"); + + String tmp = "(" + getX(units) + "," + getY(units) + ")->(" + + getWidth(units) + "," + getHeight(units) + ")"; + + return unitsName == null ? tmp : tmp + unitsName; + } + + /** + * Returns the printable area as an float[] with 4 values + * (order x, y, width, height) in the given units. + * + * @param units the units to use. + * @return The printable area as float array. + */ + public float[] getPrintableArea(int units) + { + return new float[] { getX(units), getY(units), + getWidth(units), getHeight(units) }; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/MediaSize.java b/libjava/classpath/javax/print/attribute/standard/MediaSize.java index 6abf97974bd..00bcb34954f 100644 --- a/libjava/classpath/javax/print/attribute/standard/MediaSize.java +++ b/libjava/classpath/javax/print/attribute/standard/MediaSize.java @@ -43,47 +43,171 @@ import java.util.ArrayList; import javax.print.attribute.Attribute; import javax.print.attribute.Size2DSyntax; +/** + * The <code>MediaSize</code> printing attribute class specifies the size + * of a printing media. The size is defined in portrait orientation with + * x at the bottom edge and y at the left edge. + * <p> + * There are several media sizes predefined through the nested classes. Further + * sizes may be provided by the application. <code>MediaSize</code> is not used + * as a printing attribute currently. It may be used to get the actual sizes + * for a named media or to find a suitable <code>MediaSizeName</code> instance + * by querying with the needed sizes. + * </p> + * <p> + * <b>IPP Compatibility:</b> MediaSize is not an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.MediaSizeName + * + * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) + */ public class MediaSize extends Size2DSyntax implements Attribute { private static final long serialVersionUID = -1967958664615414771L; - private static ArrayList mediaCache = new ArrayList(); + private static ArrayList mediaCache; + + static + { + mediaCache = new ArrayList(); + + MediaSize tmp = MediaSize.ISO.A0; + tmp = MediaSize.JIS.B0; + tmp = MediaSize.Engineering.A; + tmp = MediaSize.NA.LEGAL; + tmp = MediaSize.Other.EXECUTIVE; + } private MediaSizeName media; + /** + * Creates a <code>MediaSize</code> object. + * + * @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 x or y < 0 or units < 1 + */ public MediaSize(float x, float y, int units) { super(x, y, units); + mediaCache.add(this); } + /** + * Creates a <code>MediaSize</code> object associated with the given + * media name. + * + * @param x the size in x direction + * @param y the size in y direction + * @param units the units to use for the sizes + * @param media the media name to associate + * + * @exception IllegalArgumentException if x or y < 0 or units < 1 + */ public MediaSize(float x, float y, int units, MediaSizeName media) { super(x, y, units); this.media = media; + mediaCache.add(this); } + /** + * Creates a <code>MediaSize</code> object. + * + * @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 x or y < 0 or units < 1 + */ public MediaSize(int x, int y, int units) { super(x, y, units); + mediaCache.add(this); } + /** + * Creates a <code>MediaSize</code> object associated with the given + * media name. + * + * @param x the size in x direction + * @param y the size in y direction + * @param units the units to use for the sizes + * @param media the media name to associate + * + * @exception IllegalArgumentException if x or y < 0 or units < 1 + */ public MediaSize(int x, int y, int units, MediaSizeName media) { super(x, y, units); this.media = media; + mediaCache.add(this); } /** * Returns category of this class. * - * @return the class <code>MediaSize</code> itself + * @return The class <code>MediaSize</code> itself. */ public Class getCategory() { return MediaSize.class; } + + /** + * Searches for a MediaSize object with the given dimensions. + * If none is found with exact dimensions, the closest match is used. + * Afterwards the MediaSizeName of the found MediaSize object is + * returned - which might be null if none is specified. + * + * @param x the dimension for x + * @param y the dimension for y + * @param units the units to be used for comparison + * @return the corresponding MediaSizeName object, or null + */ + public static MediaSizeName findMedia(float x, float y, int units) + { + if (x <= 0.0f || y <= 0.0f) + throw new IllegalArgumentException( + "x and/or y may not be less or equal 0"); + + if (units < 1) + throw new IllegalArgumentException("units may not be less then 1"); + + MediaSize bestMatch = null; + int bestDistance = Integer.MAX_VALUE; + + int xMicro = (int) x * units; + int yMicro = (int) y * units; + + for (int i = 0; i < mediaCache.size(); i++) + { + MediaSize size = (MediaSize) mediaCache.get(i); + int dist = (Math.abs(size.getXMicrometers() - xMicro) + + Math.abs(size.getYMicrometers() - yMicro)); + if (dist < bestDistance) + { + bestMatch = size; + bestDistance = dist; + } + } + + return bestMatch.getMediaSizeName(); + } + + /** + * Returns the associated <code>MediaSize</code> instance for the + * given named media <code>MediaSizeName</code> instance. + * + * @param media the named media to search for. + * @return The corresponding <code>MediaSize</code> instance or + * <code>null</code> if none found. + */ public static MediaSize getMediaSizeForName(MediaSizeName media) { for (int i = 0; i < mediaCache.size(); i++) @@ -97,18 +221,605 @@ public class MediaSize extends Size2DSyntax return null; } + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (!(obj instanceof MediaSize)) + return false; + + MediaSize tmp = (MediaSize) obj; + return (tmp.getXMicrometers() == this.getXMicrometers() + && tmp.getYMicrometers() == this.getYMicrometers()); + } + + /** + * Returns the media name of this size. + * + * @return The media name. + */ public MediaSizeName getMediaSizeName() { return media; } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "media-size" + * @return The name "media-size". */ public String getName() { return "media-size"; } + + /** + * Container class for predefined ISO media sizes. + * + * @author Sven de Marothy (sven@physto.se) + */ + public static final class ISO + { + + /** + * ISO A0 paper, 841 mm x 1189 mm. + */ + public static final MediaSize A0 = new MediaSize(841, 1189, + MediaSize.MM, + MediaSizeName.ISO_A0); + + /** + * ISO A1 paper, 594 mm x 841 mm + */ + public static final MediaSize A1 = new MediaSize(594, 841, MediaSize.MM, + MediaSizeName.ISO_A1); + + /** + * ISO A2 paper, 420 mm x 594 mm + */ + public static final MediaSize A2 = new MediaSize(420, 594, MediaSize.MM, MediaSizeName.ISO_A2); + + /** + * ISO A3 paper, 297 mm x 420 mm + */ + public static final MediaSize A3 = new MediaSize(297, 420, MediaSize.MM, MediaSizeName.ISO_A3); + + /** + * ISO A4 paper, 210 mm x 297 mm + */ + public static final MediaSize A4 = new MediaSize(210, 297, MediaSize.MM, MediaSizeName.ISO_A4); + + /** + * ISO A5 paper, 148 mm x 210 mm + */ + public static final MediaSize A5 = new MediaSize(148, 210, MediaSize.MM, MediaSizeName.ISO_A5); + + /** + * ISO A6 paper, 105 mm x 148 mm + */ + public static final MediaSize A6 = new MediaSize(105, 148, MediaSize.MM, MediaSizeName.ISO_A6); + + /** + * ISO A7 paper, 74 mm x 105 mm + */ + public static final MediaSize A7 = new MediaSize(74, 105, MediaSize.MM, MediaSizeName.ISO_A7); + + /** + * ISO A8 paper, 52 mm x 74 mm + */ + public static final MediaSize A8 = new MediaSize(52, 74, MediaSize.MM, MediaSizeName.ISO_A8); + + /** + * ISO A9 paper, 37 mm x 52 mm + */ + public static final MediaSize A9 = new MediaSize(37, 52, MediaSize.MM, MediaSizeName.ISO_A9); + + /** + * ISO A10 paper, 26 mm x 37 mm + */ + public static final MediaSize A10 = new MediaSize(26, 37, MediaSize.MM, MediaSizeName.ISO_A10); + + + /** + * ISO B0 paper, 1000 mm x 1414 mm + */ + public static final MediaSize B0 = new MediaSize(1000, 1414, MediaSize.MM, MediaSizeName.ISO_B0); + + /** + * ISO B1 paper, 707 mm x 1000 mm + */ + public static final MediaSize B1 = new MediaSize(707, 1000, MediaSize.MM, MediaSizeName.ISO_B1); + + /** + * ISO B2 paper, 500 mm x 707 mm + */ + public static final MediaSize B2 = new MediaSize(500, 707, MediaSize.MM, MediaSizeName.ISO_B2); + + /** + * ISO B3 paper, 353 mm x 500 mm + */ + public static final MediaSize B3 = new MediaSize(353, 500, MediaSize.MM, MediaSizeName.ISO_B3); + + /** + * ISO B4 paper, 250 mm x 353 mm + */ + public static final MediaSize B4 = new MediaSize(250, 353, MediaSize.MM, MediaSizeName.ISO_B4); + + /** + * ISO B5 paper, 176 mm x 250 mm + */ + public static final MediaSize B5 = new MediaSize(176, 250, MediaSize.MM, MediaSizeName.ISO_B5); + + /** + * ISO B6 paper, 125 mm x 176 mm + */ + public static final MediaSize B6 = new MediaSize(125, 176, MediaSize.MM, MediaSizeName.ISO_B6); + + /** + * ISO B7 paper, 88 mm x 125 mm + */ + public static final MediaSize B7 = new MediaSize(88, 125, MediaSize.MM, MediaSizeName.ISO_B7); + + /** + * ISO B8 paper, 62 mm x 88 mm + */ + public static final MediaSize B8 = new MediaSize(62, 88, MediaSize.MM, MediaSizeName.ISO_B8); + + /** + * ISO B9 paper, 44 mm x 62 mm + */ + public static final MediaSize B9 = new MediaSize(44, 62, MediaSize.MM, MediaSizeName.ISO_B9); + + /** + * ISO B10 paper, 31 mm x 44 mm + */ + public static final MediaSize B10 = new MediaSize(31, 44, MediaSize.MM, MediaSizeName.ISO_B10); + + /** + * ISO C3 envelope, 324 mm x 458 mm + */ + public static final MediaSize C3 = new MediaSize(324, 458, MediaSize.MM, MediaSizeName.ISO_C3); + + /** + * ISO C4 envelope, 229 mm x 324 mm + */ + public static final MediaSize C4 = new MediaSize(229, 324, MediaSize.MM, MediaSizeName.ISO_C4); + + /** + * ISO C5 envelope, 162 mm x 229 mm + */ + public static final MediaSize C5 = new MediaSize(162, 229, MediaSize.MM, MediaSizeName.ISO_C5); + + /** + * ISO C6 envelope, 114 mm x 162 mm + */ + public static final MediaSize C6 = new MediaSize(114, 162, MediaSize.MM, MediaSizeName.ISO_C6); + + /** + * ISO ISO Designated Long paper, 324 mm x 458 mm + */ + public static final MediaSize DESIGNATED_LONG = + new MediaSize(324, 458, MediaSize.MM, MediaSizeName.ISO_DESIGNATED_LONG); + } + + /** + * Container class for predefined North American media sizes. + * + * @author Sven de Marothy (sven@physto.se) + */ + public static final class NA + { + /** + * US Legal paper size, 8.5 inch x 14 inch + */ + public static final MediaSize LEGAL = new MediaSize(8.5f, 14f, MediaSize.INCH, + MediaSizeName.NA_LEGAL); + + /** + * US Letter paper size, 8.5 inch x 11 inch + */ + public static final MediaSize LETTER = new MediaSize(8.5f, 11f, MediaSize.INCH, + MediaSizeName.NA_LETTER); + + /** + * 5 inch x 7 inch paper size. + */ + public static final MediaSize NA_5X7 = new MediaSize(5, 7, MediaSize.INCH, + MediaSizeName.NA_5X7); + + /** + * 8 inch x 10 inch paper size. + */ + public static final MediaSize NA_8X10 = new MediaSize(8, 10, MediaSize.INCH, + MediaSizeName.NA_8X10); + + /** + * 6 inch x 9 inch envelope size. + */ + public static final MediaSize NA_6X9_ENVELOPE = new MediaSize(6f, 9f, + MediaSize.INCH, + MediaSizeName.NA_6X9_ENVELOPE); + + /** + * 7 inch x 9 inch envelope size. + */ + public static final MediaSize NA_7X9_ENVELOPE = new MediaSize(7f, 9f, + MediaSize.INCH, + MediaSizeName.NA_7X9_ENVELOPE); + + /** + * 9 inch x 11 inch envelope size. + */ + public static final MediaSize NA_9x11_ENVELOPE = new MediaSize(9f, 11f, + MediaSize.INCH, + MediaSizeName.NA_9X11_ENVELOPE); + + /** + * 9 inch x 12 inch envelope size. + */ + public static final MediaSize NA_9x12_ENVELOPE = new MediaSize(9f, 12f, + MediaSize.INCH, + MediaSizeName.NA_9X12_ENVELOPE); + + + /** + * 10 inch x 13 inch envelope size. + */ + public static final MediaSize NA_10x13_ENVELOPE = new MediaSize(10f, 13f, + MediaSize.INCH, + MediaSizeName.NA_10X13_ENVELOPE); + + /** + * 10 inch x 14 inch envelope size. + */ + public static final MediaSize NA_10x14_ENVELOPE = new MediaSize(10f, 14f, + MediaSize.INCH, + MediaSizeName.NA_10X14_ENVELOPE); + + /** + * 10 inch x 15 inch envelope size. + */ + public static final MediaSize NA_10X15_ENVELOPE = new MediaSize(10f, 15f, + MediaSize.INCH, + MediaSizeName.NA_10X15_ENVELOPE); + + /** + * Number 9 envelope size. 4.5 inch x 10.375 inch + */ + public static final MediaSize NA_NUMBER_9_ENVELOPE = new MediaSize(3.875f, 8.875f, + MediaSize.INCH, + MediaSizeName.NA_NUMBER_9_ENVELOPE); + + /** + * Number 10 envelope size. 4.125 inch x 9.5 inch + */ + public static final MediaSize NA_NUMBER_10_ENVELOPE = + new MediaSize(4.125f, 9.5f, MediaSize.INCH, MediaSizeName.NA_NUMBER_10_ENVELOPE); + + /** + * Number 11 envelope size. 4.5 inch x 10.375 inch + */ + public static final MediaSize NA_NUMBER_11_ENVELOPE = new MediaSize(4.5f, 10.375f, MediaSize.INCH, + MediaSizeName.NA_NUMBER_11_ENVELOPE); + + /** + * Number 12 envelope size. 4.75 inch x 11 inch + */ + public static final MediaSize NA_NUMBER_12_ENVELOPE = new MediaSize(4.75f, 11f, + MediaSize.INCH, + MediaSizeName.NA_NUMBER_12_ENVELOPE); + + /** + * Number 14 envelope size. 5 inch x 11.5 inch + */ + public static final MediaSize NA_NUMBER_14_ENVELOPE = new MediaSize(5f, 11.5f, + MediaSize.INCH, + MediaSizeName.NA_NUMBER_14_ENVELOPE); + } + + /** + * Container class for predefined US Engineering media sizes. + * + * @author Sven de Marothy (sven@physto.se) + */ + public static final class Engineering + { + /** + * ANSI A paper size. 8.5 inch x 11 inch + */ + public static final MediaSize A = new MediaSize(8.5f, 11f, + MediaSize.INCH, MediaSizeName.A); + + /** + * ANSI B paper size. 11 inch x 17 inch + */ + public static final MediaSize B = new MediaSize(11f, 17f, + MediaSize.INCH, MediaSizeName.B); + + /** + * ANSI C paper size. 17 inch x 22 inch + */ + public static final MediaSize C = new MediaSize(17f, 22f, + MediaSize.INCH, MediaSizeName.C); + + /** + * ANSI D paper size. 22 inch x 34 inch + */ + public static final MediaSize D = new MediaSize(22f, 34f, + MediaSize.INCH, MediaSizeName.D); + + /** + * ANSI E paper size. 33 inch x 44 inch + */ + public static final MediaSize E = new MediaSize(34f, 44f, + MediaSize.INCH, MediaSizeName.E); + } + + /** + * Container class for predefined Japanese JIS media sizes. + * + * @author Sven de Marothy (sven@physto.se) + */ + public static final class JIS + { + /** + * JIS B0 paper. 1030 mm x 1456 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B0 = new MediaSize(1030, 1456, MediaSize.MM, MediaSizeName.JIS_B0); + + /** + * JIS B1 paper. 1030 mm x 1456 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B1 = new MediaSize(728, 1030, MediaSize.MM, MediaSizeName.JIS_B1); + + /** + * JIS B2 paper. 515 mm x 728 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B2 = new MediaSize(515, 728, MediaSize.MM, MediaSizeName.JIS_B2); + + /** + * JIS B3 paper. 364 mm x 515 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B3 = new MediaSize(364, 515, MediaSize.MM, MediaSizeName.JIS_B3); + + /** + * JIS B4 paper. 257 mm x 364 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B4 = new MediaSize(257, 364, MediaSize.MM, MediaSizeName.JIS_B4); + + /** + * JIS B5 paper. 1030 mm x 1456 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B5 = new MediaSize(182, 257, MediaSize.MM, MediaSizeName.JIS_B5); + + /** + * JIS B6 paper. 128 mm x 182 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B6 = new MediaSize(128, 182, MediaSize.MM, MediaSizeName.JIS_B6); + + /** + * JIS B7 paper. 91 mm x 128 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B7 = new MediaSize(91, 128, MediaSize.MM, MediaSizeName.JIS_B7); + + /** + * JIS B8 paper. 64 mm x 91 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B8 = new MediaSize(64, 91, MediaSize.MM, MediaSizeName.JIS_B8); + + /** + * JIS B9 paper. 45 mm x 64 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B9 = new MediaSize(45, 64, MediaSize.MM, MediaSizeName.JIS_B9); + + /** + * JIS B10 paper. 32 mm x 45 mm + * Note: The JIS B-series is not identical to the ISO B-series. + */ + public static final MediaSize B10 = new MediaSize(32, 45, MediaSize.MM, MediaSizeName.JIS_B10); + + /** + * JIS chou #1 envelope size, 142 mm x 332 mm + */ + public static final MediaSize CHOU_1 = new MediaSize(142, 332, MediaSize.MM); + + /** + * JIS chou #2 envelope size, 119 mm x 227 mm + */ + public static final MediaSize CHOU_2 = new MediaSize(119, 227, MediaSize.MM); + + /** + * JIS chou #3 envelope size, 120 mm x 235 mm + */ + public static final MediaSize CHOU_3 = new MediaSize(120, 235, MediaSize.MM); + + /** + * JIS chou #4 envelope size, 90 mm x 205 mm + */ + public static final MediaSize CHOU_4 = new MediaSize(90, 205, MediaSize.MM); + + /** + * JIS chou #30 envelope size, 92 mm x 235 mm + */ + public static final MediaSize CHOU_30 = new MediaSize(92, 235, MediaSize.MM); + + /** + * JIS chou #40 envelope size, 90 mm x 225 mm + */ + public static final MediaSize CHOU_40 = new MediaSize(90, 225, MediaSize.MM); + + /** + * JIS kaku #0 envelope size, 287 mm x 382 mm + */ + public static final MediaSize KAKU_0 = new MediaSize(287, 382, MediaSize.MM); + + /** + * JIS kaku #1 envelope size, 270 mm x 382 mm + */ + public static final MediaSize KAKU_1 = new MediaSize(270, 382, MediaSize.MM); + + /** + * JIS kaku #2 envelope size, 240 mm x 332 mm + */ + public static final MediaSize KAKU_2 = new MediaSize(240, 332, MediaSize.MM); + + /** + * JIS kaku #20 envelope size, 229 mm x 324 mm + */ + public static final MediaSize KAKU_20 = new MediaSize(229, 324, MediaSize.MM); + + /** + * JIS kaku #3 envelope size, 216 mm x 227 mm + */ + public static final MediaSize KAKU_3 = new MediaSize(216, 227, MediaSize.MM); + + /** + * JIS kaku #4 envelope size, 197 mm x 267 mm + */ + public static final MediaSize KAKU_4 = new MediaSize(197, 267, MediaSize.MM); + + /** + * JIS kaku #5 envelope size, 190 mm x 240 mm + */ + public static final MediaSize KAKU_5 = new MediaSize(190, 240, MediaSize.MM); + + /** + * JIS kaku #6 envelope size, 162 mm x 229 mm + */ + public static final MediaSize KAKU_6 = new MediaSize(162, 229, MediaSize.MM); + + /** + * JIS kaku #7 envelope size, 142 mm x 205 mm + */ + public static final MediaSize KAKU_7 = new MediaSize(142, 205, MediaSize.MM); + + /** + * JIS kaku #8 envelope size, 119 mm x 197 mm + */ + public static final MediaSize KAKU_8 = new MediaSize(119, 197, MediaSize.MM); + + /** + * JIS kaku A4 envelope size, 228 mm x 312 mm + */ + public static final MediaSize KAKU_A4 = new MediaSize(228, 312, MediaSize.MM); + + /** + * JIS you #1 envelope size, 120 mm x 176 mm + */ + public static final MediaSize YOU_1 = new MediaSize(120, 176, MediaSize.MM); + + /** + * JIS you #2 envelope size, 114 mm x 162 mm + */ + public static final MediaSize YOU_2 = new MediaSize(114, 162, MediaSize.MM); + + /** + * JIS you #3 envelope size, 98 mm x 148 mm + */ + public static final MediaSize YOU_3 = new MediaSize(98, 148, MediaSize.MM); + + /** + * JIS you #4 envelope size, 105 mm x 235 mm + */ + public static final MediaSize YOU_4 = new MediaSize(105, 235, MediaSize.MM); + + /** + * JIS you #5 envelope size, 95 mm x 217 mm + */ + public static final MediaSize YOU_5 = new MediaSize(95, 217, MediaSize.MM); + + /** + * JIS you #6 envelope size, 98 mm x 190 mm + */ + public static final MediaSize YOU_6 = new MediaSize(98, 190, MediaSize.MM); + + /** + * JIS you #7 envelope size, 92 mm x 165 mm + */ + public static final MediaSize YOU_7 = new MediaSize(92, 165, MediaSize.MM); + } + + /** + * Container class for miscellaneous media sizes. + * + * @author Sven de Marothy (sven@physto.se) + */ + public static final class Other + { + /** + * US Executive paper size, 7.25 inch x 10.5 inch + */ + public static final MediaSize EXECUTIVE = new MediaSize(7.25f, 10.5f, + MediaSize.INCH, MediaSizeName.EXECUTIVE); + + /** + * US Folio paper size, 8.5 inch x 13 inch + */ + public static final MediaSize FOLIO = new MediaSize(8.5f, 13f, MediaSize.INCH, MediaSizeName.FOLIO); + + /** + * US Quarto paper size, 8.5 inches by 10.83 inches. + */ + public static final MediaSize QUARTO = new MediaSize(8.5f, 10.83f, MediaSize.INCH, + MediaSizeName.QUARTO); + + /** + * US Invoice size, 5.5 inch x 8.5 inch + */ + public static final MediaSize INVOICE = new MediaSize(5.5f, 8.5f, + MediaSize.INCH, MediaSizeName.INVOICE); + + /** + * US Ledger size, 11 inch x 17 inch + */ + public static final MediaSize LEDGER = new MediaSize(11, 17, MediaSize.INCH, + MediaSizeName.LEDGER); + + /** + * Monarch (7 3/4) envelope size, 3.87 inch x 7.5 inch + */ + public static final MediaSize MONARCH_ENVELOPE = new MediaSize(3.87f, 7.5f, + MediaSize.INCH, + MediaSizeName.MONARCH_ENVELOPE); + + /** + * Personal envelope size, 3.625 inch x 6.5 inch. + */ + public static final MediaSize PERSONAL_ENVELOPE = new MediaSize(3.625f, 6.5f, MediaSize.INCH, + MediaSizeName.PERSONAL_ENVELOPE); + + /** + * Italian envelope size, 110 mm x 230 mm + */ + public static final MediaSize ITALY_ENVELOPE = new MediaSize(110, 230, + MediaSize.MM, + MediaSizeName.ITALY_ENVELOPE); + + /** + * Japanese postcard, 100 mm x 148 mm + */ + public static final MediaSize JAPANESE_POSTCARD = new MediaSize(100, 148, MediaSize.MM, MediaSizeName.JAPANESE_POSTCARD); + + /** + * Japanese double postcard, 148 mm x 200 mm + */ + public static final MediaSize JAPANESE_DOUBLE_POSTCARD = new MediaSize(148, 200, MediaSize.MM, MediaSizeName.JAPANESE_DOUBLE_POSTCARD); + } } + diff --git a/libjava/classpath/javax/print/attribute/standard/MediaSizeName.java b/libjava/classpath/javax/print/attribute/standard/MediaSizeName.java index 9990a2def42..e29b1ae34c7 100644 --- a/libjava/classpath/javax/print/attribute/standard/MediaSizeName.java +++ b/libjava/classpath/javax/print/attribute/standard/MediaSizeName.java @@ -1,5 +1,5 @@ /* MediaSizeName.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,99 +37,461 @@ exception statement from your version. */ package javax.print.attribute.standard; +import javax.print.attribute.EnumSyntax; + /** + * <code>MediaSizeName</code> is a subclass of the <code>Media</code> printing + * attribute and provides selection of media to be used by the means of + * defined size names. The class pre-defines commonly available media sizes. + * This media type enumeration may be used in alternative to + * MediaName/MediaTray. + * <p> + * <b>IPP Compatibility:</b> MediaSizeName is not an IPP 1.1 attribute on its + * own. It provides parts of the <code>media</code> attribute type values. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class MediaSizeName extends Media { private static final long serialVersionUID = 2778798329756942747L; + /** + * The ISO A0 size: 841 mm by 1189 mm. + */ public static final MediaSizeName ISO_A0 = new MediaSizeName(0); + + /** + * The ISO A1 size: 594 mm by 841 mm. + */ public static final MediaSizeName ISO_A1 = new MediaSizeName(1); + + /** + * The ISO A2 size: 420 mm by 594 mm. + */ public static final MediaSizeName ISO_A2 = new MediaSizeName(2); + + /** + * The ISO A3 size: 297 mm by 420 mm. + */ public static final MediaSizeName ISO_A3 = new MediaSizeName(3); + + /** + * The ISO A4 size: 210 mm by 297 mm. + */ public static final MediaSizeName ISO_A4 = new MediaSizeName(4); + + /** + * The ISO A5 size: 148 mm by 210 mm. + */ public static final MediaSizeName ISO_A5 = new MediaSizeName(5); + + /** + * The ISO A6 size: 105 mm by 148 mm. + */ public static final MediaSizeName ISO_A6 = new MediaSizeName(6); + + /** + * The ISO A7 size: 74 mm by 105 mm. + */ public static final MediaSizeName ISO_A7 = new MediaSizeName(7); + + /** + * The ISO A8 size: 52 mm by 74 mm. + */ public static final MediaSizeName ISO_A8 = new MediaSizeName(8); + + /** + * The ISO A9 size: 37 mm by 52 mm. + */ public static final MediaSizeName ISO_A9 = new MediaSizeName(9); + + /** + * The ISO A10 size: 26 mm by 37 mm. + */ public static final MediaSizeName ISO_A10 = new MediaSizeName(10); + + /** + * The ISO B0 size: 1000 mm by 1414 mm. + */ public static final MediaSizeName ISO_B0 = new MediaSizeName(11); + + /** + * The ISO B1 size: 707 mm by 1000 mm. + */ public static final MediaSizeName ISO_B1 = new MediaSizeName(12); + + /** + * The ISO B2 size: 500 mm by 707 mm. + */ public static final MediaSizeName ISO_B2 = new MediaSizeName(13); + + /** + * The ISO B3 size: 353 mm by 500 mm. + */ public static final MediaSizeName ISO_B3 = new MediaSizeName(14); + + /** + * The ISO B4 size: 250 mm by 353 mm. + */ public static final MediaSizeName ISO_B4 = new MediaSizeName(15); + + /** + * The ISO B5 size: 176 mm by 250 mm. + */ public static final MediaSizeName ISO_B5 = new MediaSizeName(16); + + /** + * The ISO B6 size: 125 mm by 176 mm. + */ public static final MediaSizeName ISO_B6 = new MediaSizeName(17); + + /** + * The ISO B7 size: 88 mm by 125 mm. + */ public static final MediaSizeName ISO_B7 = new MediaSizeName(18); + + /** + * The ISO B8 size: 62 mm by 88 mm. + */ public static final MediaSizeName ISO_B8 = new MediaSizeName(19); + + /** + * The ISO B9 size: 44 mm by 62 mm. + */ public static final MediaSizeName ISO_B9 = new MediaSizeName(20); + + /** + * The ISO B10 size: 31 mm by 44 mm. + */ public static final MediaSizeName ISO_B10 = new MediaSizeName(21); + + /** + * The JIS B0 size: 1030mm x 1456mm. + */ public static final MediaSizeName JIS_B0 = new MediaSizeName(22); + + /** + * The JIS B1 size: 728mm x 1030mm. + */ public static final MediaSizeName JIS_B1 = new MediaSizeName(23); + + /** + * The JIS B2 size: 515mm x 728mm. + */ public static final MediaSizeName JIS_B2 = new MediaSizeName(24); + + /** + * The JIS B3 size: 364mm x 515mm. + */ public static final MediaSizeName JIS_B3 = new MediaSizeName(25); + + /** + * The JIS B4 size: 257mm x 364mm. + */ public static final MediaSizeName JIS_B4 = new MediaSizeName(26); + + /** + * The JIS B5 size: 182mm x 257mm. + */ public static final MediaSizeName JIS_B5 = new MediaSizeName(27); + + /** + * The JIS B6 size: 128mm x 182mm. + */ public static final MediaSizeName JIS_B6 = new MediaSizeName(28); + + /** + * The JIS B7 size: 91mm x 128mm. + */ public static final MediaSizeName JIS_B7 = new MediaSizeName(29); + + /** + * The JIS B8 size: 64mm x 91mm. + */ public static final MediaSizeName JIS_B8 = new MediaSizeName(30); + + /** + * The JIS B9 size: 45mm x 64mm. + */ public static final MediaSizeName JIS_B9 = new MediaSizeName(31); + + /** + * The JIS B10 size: 32mm x 45mm. + */ public static final MediaSizeName JIS_B10 = new MediaSizeName(32); + + /** + * The ISO C0 size: 917 mm by 1297 mm. + */ public static final MediaSizeName ISO_C0 = new MediaSizeName(33); + + /** + * The ISO C1 size: 648 mm by 917 mm. + */ public static final MediaSizeName ISO_C1 = new MediaSizeName(34); + + /** + * The ISO C2 size: 458 mm by 648 mm. + */ public static final MediaSizeName ISO_C2 = new MediaSizeName(35); + + /** + * The ISO C3 size: 324 mm by 458 mm. + */ public static final MediaSizeName ISO_C3 = new MediaSizeName(36); + + /** + * The ISO C4 size: 229 mm by 324 mm. + */ public static final MediaSizeName ISO_C4 = new MediaSizeName(37); + + /** + * The ISO C5 size: 162 mm by 229 mm. + */ public static final MediaSizeName ISO_C5 = new MediaSizeName(38); + + /** + * The ISO C6 size: 114 mm by 162 mm. + */ public static final MediaSizeName ISO_C6 = new MediaSizeName(39); + + /** + * The North American letter size: 8.5 inches by 11 inches. + */ public static final MediaSizeName NA_LETTER = new MediaSizeName(40); + + /** + * The North American legal size: 8.5 inches by 14 inches. + */ public static final MediaSizeName NA_LEGAL = new MediaSizeName(41); + + /** + * The executive size: 7.25 inches by 10.5 inches. + */ public static final MediaSizeName EXECUTIVE = new MediaSizeName(42); + + /** + * The ledger size: 11 inches by 17 inches. + */ public static final MediaSizeName LEDGER = new MediaSizeName(43); + + /** + * The tabloid size: 11 inches by 17 inches. + */ public static final MediaSizeName TABLOID = new MediaSizeName(44); + + /** + * The invoice size: 5.5 inches by 8.5 inches. + */ public static final MediaSizeName INVOICE = new MediaSizeName(45); + + /** + * The folio size: 8.5 inches by 13 inches. + */ public static final MediaSizeName FOLIO = new MediaSizeName(46); + + /** + * The quarto size: 8.5 inches by 10.83 inches. + */ public static final MediaSizeName QUARTO = new MediaSizeName(47); + + /** + * The Japanese postcard size, 100 mm by 148 mm. + */ public static final MediaSizeName JAPANESE_POSTCARD = new MediaSizeName(48); + + /** + * The Japanese Double postcard size: 148 mm by 200 mm. + */ public static final MediaSizeName JAPANESE_DOUBLE_POSTCARD = new MediaSizeName(49); + + /** + * The engineering ANSI A size medium: 8.5 inches x 11 inches. + */ public static final MediaSizeName A = new MediaSizeName(50); + + /** + * The engineering ANSI B size medium: 11 inches x 17 inches. + */ public static final MediaSizeName B = new MediaSizeName(51); + + /** + * The engineering ANSI C size medium: 17 inches x 22 inches. + */ public static final MediaSizeName C = new MediaSizeName(52); + + /** + * The engineering ANSI D size medium: 22 inches x 34 inches. + */ public static final MediaSizeName D = new MediaSizeName(53); + + /** + * The engineering ANSI E size medium: 34 inches x 44 inches. + */ public static final MediaSizeName E = new MediaSizeName(54); + + /** + * The ISO Designated Long size: 110 mm by 220 mm. + */ public static final MediaSizeName ISO_DESIGNATED_LONG = new MediaSizeName(55); + + /** + * The Italy envelope size: 110 mm by 230 mm. + */ public static final MediaSizeName ITALY_ENVELOPE = new MediaSizeName(56); + + /** + * The Monarch envelope size: 3.87 inch by 7.5 inch. + */ public static final MediaSizeName MONARCH_ENVELOPE = new MediaSizeName(57); + + /** + * The Personal envelope size: 3.625 inch by 6.5 inch. + */ public static final MediaSizeName PERSONAL_ENVELOPE = new MediaSizeName(58); + + /** + * The North American number 9 business envelope size: + * 3.875 inches by 8.875 inches. + */ public static final MediaSizeName NA_NUMBER_9_ENVELOPE = new MediaSizeName(59); + + /** + * The North American number 10 business envelope size: + * 4.125 inches by 9.5 inches. + */ public static final MediaSizeName NA_NUMBER_10_ENVELOPE = new MediaSizeName(60); + + /** + * The North American number 11 business envelope size: + * 4.5 inches by 10.375 inches. + */ public static final MediaSizeName NA_NUMBER_11_ENVELOPE = new MediaSizeName(61); + + /** + * The North American number 12 business envelope size: + * 4.75 inches by 11 inches. + */ public static final MediaSizeName NA_NUMBER_12_ENVELOPE = new MediaSizeName(62); + + /** + * The North American number 14 business envelope size: + * 5 inches by 11.5 inches. + */ public static final MediaSizeName NA_NUMBER_14_ENVELOPE = new MediaSizeName(63); + + /** + * The North American 6x9 inch envelope size. + */ public static final MediaSizeName NA_6X9_ENVELOPE = new MediaSizeName(64); + + /** + * The North American 7x9 inch envelope size. + */ public static final MediaSizeName NA_7X9_ENVELOPE = new MediaSizeName(65); + + /** + * The North American 9x11 inch envelope size. + */ public static final MediaSizeName NA_9X11_ENVELOPE = new MediaSizeName(66); + + /** + * The North American 9x12 inch envelope size. + */ public static final MediaSizeName NA_9X12_ENVELOPE = new MediaSizeName(67); + + /** + * The North American 10x13 inch envelope size. + */ public static final MediaSizeName NA_10X13_ENVELOPE = new MediaSizeName(68); + + /** + * The North American 10x14 inch envelope size. + */ public static final MediaSizeName NA_10X14_ENVELOPE = new MediaSizeName(69); + + /** + * The North American 10x15 inch envelope size. + */ public static final MediaSizeName NA_10X15_ENVELOPE = new MediaSizeName(70); + + /** + * The North American 5 inches by 7 inches. + */ public static final MediaSizeName NA_5X7 = new MediaSizeName(71); + + /** + * The North American 8 inches by 10 inches. + */ public static final MediaSizeName NA_8X10 = new MediaSizeName(72); + private static final String[] stringTable = + { "iso-a0", "iso-a1", "iso-a2", "iso-a3", "iso-a4", "iso-a5", "iso-a6", + "iso-a7", "iso-a8", "iso-a9", "iso-a10", "iso-b0", "iso-b1", "iso-b2", + "iso-b3", "iso-b4", "iso-b5", "iso-b6", "iso-b7", "iso-b8", "iso-b9", + "iso-b10", "jis-b0", "jis-b1", "jis-b2", "jis-b3", "jis-b4", "jis-b5", + "jis-b6", "jis-b7", "jis-b8", "jis-b9", "jis-b10", "iso-c0", "iso-c1", + "iso-c2", "iso-c3", "iso-c4", "iso-c5", "iso-c6", "na-letter", + "na-legal", "executive", "ledger", "tabloid", "invoice", "folio", + "quarto", "japanese-postcard", "oufuko-postcard", "a", "b", "c", "d", + "e", "iso-designated-long", "italian-envelope", "monarch-envelope", + "personal-envelope", "na-number-9-envelope", "na-number-10-envelope", + "na-number-11-envelope", "na-number-12-envelope", + "na-number-14-envelope", "na-6x9-envelope", "na-7x9-envelope", + "na-9x11-envelope", "na-9x12-envelope", "na-10x13-envelope", + "na-10x14-envelope", "na-10x15-envelope", "na-5x7", "na-8x10" }; + + private static final MediaSizeName[] enumValueTable = + { ISO_A0, ISO_A1, ISO_A2, ISO_A3, ISO_A4, ISO_A5, ISO_A6, ISO_A7, ISO_A8, + ISO_A9, ISO_A10, ISO_B0, ISO_B1, ISO_B2, ISO_B3, ISO_B4, ISO_B5, ISO_B6, + ISO_B7, ISO_B8, ISO_B9, ISO_B10, JIS_B0, JIS_B1, JIS_B2, JIS_B3, JIS_B4, + JIS_B5, JIS_B6, JIS_B7, JIS_B8, JIS_B9, JIS_B10, ISO_C0, ISO_C1, ISO_C2, + ISO_C3, ISO_C4, ISO_C5, ISO_C6, NA_LETTER, NA_LEGAL, EXECUTIVE, LEDGER, + TABLOID, INVOICE, FOLIO, QUARTO, JAPANESE_POSTCARD, + JAPANESE_DOUBLE_POSTCARD, A, B, C, D, E, ISO_DESIGNATED_LONG, + ITALY_ENVELOPE, MONARCH_ENVELOPE, PERSONAL_ENVELOPE, + NA_NUMBER_9_ENVELOPE, NA_NUMBER_10_ENVELOPE, NA_NUMBER_11_ENVELOPE, + NA_NUMBER_12_ENVELOPE, NA_NUMBER_14_ENVELOPE, NA_6X9_ENVELOPE, + NA_7X9_ENVELOPE, NA_9X11_ENVELOPE, NA_9X12_ENVELOPE, NA_10X13_ENVELOPE, + NA_10X14_ENVELOPE, NA_10X15_ENVELOPE, NA_5X7, NA_8X10 }; + /** * Constructs a <code>MediaSizeName</code> object. + * + * @param value the enum value. */ protected MediaSizeName(int value) { super(value); } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/MediaTray.java b/libjava/classpath/javax/print/attribute/standard/MediaTray.java new file mode 100644 index 00000000000..23811a0a407 --- /dev/null +++ b/libjava/classpath/javax/print/attribute/standard/MediaTray.java @@ -0,0 +1,142 @@ +/* MediaTray.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.EnumSyntax; + +/** + * <code>MediaTray</code> is a subclass of the <code>Media</code> printing + * attribute and provides selection of media to be used by the means of the + * input tray of the printer. The class pre-defines commonly available types + * of input trays in printers. This media type enumeration may be used in + * alternative to MediaSizeName/MediaName. + * <p> + * <b>IPP Compatibility:</b> MediaTray is not an IPP 1.1 attribute on its own. + * It provides parts of the <code>media</code> attribute type values. + * </p> + * + * @author Sven de Marothy + * @author Wolfgang Baer (WBaer@gmx.de) + */ +public class MediaTray extends Media +{ + + private static final long serialVersionUID = -982503611095214703L; + + /** + * Top tray + */ + public static final MediaTray TOP = new MediaTray(0); + + /** + * Middle tray + */ + public static final MediaTray MIDDLE = new MediaTray(1); + + /** + * Bottom tray + */ + public static final MediaTray BOTTOM = new MediaTray(2); + + /** + * Envelope tray + */ + public static final MediaTray ENVELOPE = new MediaTray(3); + + /** + * Manual-feed tray + */ + public static final MediaTray MANUAL = new MediaTray(4); + + /** + * Large capacity tray + */ + public static final MediaTray LARGE_CAPACITY = new MediaTray(5); + + /** + * Main tray + */ + public static final MediaTray MAIN = new MediaTray(6); + + /** + * Side tray + */ + public static final MediaTray SIDE = new MediaTray(7); + + private static final String[] stringTable = { "top", "middle", "bottom", + "envelope", "manual", + "large-capacity", "main", + "side" }; + + private static final MediaTray[] enumValueTable = { TOP, MIDDLE, BOTTOM, + ENVELOPE, MANUAL, + LARGE_CAPACITY, MAIN, + SIDE }; + + /** + * Creates a <code>MediaTray</code> object. + * + * @param i the enum value. + */ + protected MediaTray(int i) + { + super( i ); + } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } +} + diff --git a/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java b/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java index 8298092b0d7..1ed0c913830 100644 --- a/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java +++ b/libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java @@ -43,24 +43,60 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>MultipleDocumentHandling</code> printing attribute controls + * how certain printing attributes affect printing in case of multiple + * documents in a print job. This attribute is only relevant if a job + * has multiple documents. + * <p> + * <b>IPP Compatibility:</b> MultipleDocumentHandling is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class MultipleDocumentHandling extends EnumSyntax implements PrintJobAttribute, PrintRequestAttribute { private static final long serialVersionUID = 8098326460746413466L; + /** + * Multiple documents are treated as a single document. + */ public static final MultipleDocumentHandling SINGLE_DOCUMENT = new MultipleDocumentHandling(0); + + /** + * Multiple documents are treated as uncollated copies. + */ public static final MultipleDocumentHandling SEPARATE_DOCUMENTS_UNCOLLATED_COPIES = new MultipleDocumentHandling(1); + + /** + * Multiple documents are treated as collated copies. + */ public static final MultipleDocumentHandling SEPARATE_DOCUMENTS_COLLATED_COPIES = new MultipleDocumentHandling(2); + + /** + * Multiple documents are treated so that every single document starts + * with a new sheet. + */ public static final MultipleDocumentHandling SINGLE_DOCUMENT_NEW_SHEET = new MultipleDocumentHandling(3); + + private static final String[] stringTable = { "single-document", + "separate-documents-uncollated-copies", + "separate-documents-collated-copies", + "single-document-new-sheet" }; + + private static final MultipleDocumentHandling[] enumValueTable = + { SINGLE_DOCUMENT, SEPARATE_DOCUMENTS_UNCOLLATED_COPIES, + SEPARATE_DOCUMENTS_COLLATED_COPIES, SINGLE_DOCUMENT_NEW_SHEET}; /** * Constructs a <code>MultipleDocumentHandling</code> object. + * + * @param value the enum value */ protected MultipleDocumentHandling(int value) { @@ -70,7 +106,7 @@ public class MultipleDocumentHandling extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>MultipleDocumentHandling</code> itself + * @return The class <code>MultipleDocumentHandling</code> itself. */ public Class getCategory() { @@ -80,10 +116,31 @@ public class MultipleDocumentHandling extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "multiple-document-handling". */ public String getName() { return "multiple-document-handling"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java b/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java index cf2e9dccada..b9363eb9101 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java @@ -1,5 +1,5 @@ /* NumberOfDocuments.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,12 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>NumberOfDocuments</code> printing attribute specifies + * the number of documents in a job. + * <p> + * <b>IPP Compatibility:</b> NumberOfDocuments is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch */ public final class NumberOfDocuments extends IntegerSyntax @@ -53,7 +59,7 @@ public final class NumberOfDocuments extends IntegerSyntax * * @param value the number of documents * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public NumberOfDocuments(int value) { @@ -64,11 +70,12 @@ public final class NumberOfDocuments extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +88,7 @@ public final class NumberOfDocuments extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>NumberOfDocuments</code> itself + * @return The class <code>NumberOfDocuments</code> itself. */ public Class getCategory() { @@ -89,9 +96,9 @@ public final class NumberOfDocuments extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "number-of-documents" + * @return The name "number-of-documents". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java b/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java index 1da2e1b466a..d3c0952fcae 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java @@ -1,5 +1,5 @@ /* NumberOfInterveningJobs.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,13 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintJobAttribute; /** + * The <code>NumberOfInterveningJobs</code> printing attribute provides + * the number of jobs ahead in the print service queue before the + * requested job. + * <p> + * <b>IPP Compatibility:</b> NumberOfInterveningJobs is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch */ public final class NumberOfInterveningJobs extends IntegerSyntax @@ -53,7 +60,7 @@ public final class NumberOfInterveningJobs extends IntegerSyntax * * @param value the number of intervening jobs * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public NumberOfInterveningJobs(int value) { @@ -64,11 +71,12 @@ public final class NumberOfInterveningJobs extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +89,7 @@ public final class NumberOfInterveningJobs extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>NumberOfInterveningJobs</code> itself + * @return The class <code>NumberOfInterveningJobs</code> itself. */ public Class getCategory() { @@ -89,9 +97,9 @@ public final class NumberOfInterveningJobs extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "number-of-intervening-jobs" + * @return The name "number-of-intervening-jobs". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/NumberUp.java b/libjava/classpath/javax/print/attribute/standard/NumberUp.java index 4dee55394c4..aa2324040af 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberUp.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberUp.java @@ -1,5 +1,5 @@ /* NumberUp.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,6 +43,17 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.PrintRequestAttribute; /** + * The <code>NumberUp</code> printing attribute specifies the number of pages + * to be arranged upon a single media sheet. + * <p> + * <b>Note:</b> The effect of this attribute on jobs with multiple documents + * is controlled by the job attribute + * {@link javax.print.attribute.standard.MultipleDocumentHandling}. + * </p> + * <p> + * <b>IPP Compatibility:</b> NumberUp is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch */ public final class NumberUp extends IntegerSyntax @@ -56,7 +67,7 @@ public final class NumberUp extends IntegerSyntax * @param value the number of print-stream pages to print on a single side * of a media * - * @exception IllegalArgumentException if value < 1 + * @exception IllegalArgumentException if value < 1 */ public NumberUp(int value) { @@ -64,11 +75,12 @@ public final class NumberUp extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +93,7 @@ public final class NumberUp extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>NumberUp</code> itself + * @return The class <code>NumberUp</code> itself. */ public Class getCategory() { @@ -89,9 +101,9 @@ public final class NumberUp extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "number-up" + * @return The name "number-up". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java b/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java index 512bdaa00c7..71392a9ef52 100644 --- a/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java @@ -1,5 +1,5 @@ /* NumberUpSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,15 @@ import javax.print.attribute.SupportedValuesAttribute; /** + * The <code>NumberUpSupported</code> printing attribute specifies the + * supported value or range of values for the + * {@link javax.print.attribute.standard.NumberUp} attribute. + * <p> + * <b>IPP Compatibility:</b> NumberUpSupported is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class NumberUpSupported extends SetOfIntegerSyntax implements SupportedValuesAttribute @@ -50,33 +58,75 @@ public final class NumberUpSupported extends SetOfIntegerSyntax private static final long serialVersionUID = -1041573395759141805L; /** - * Constructs a <code>NumberUp</code> object. + * Constructs a <code>NumberUpSupported</code> object. + * + * @param member the only one value supported for number up. + * + * @exception IllegalArgumentException if member is < 1 */ public NumberUpSupported(int member) { super(member); + + if (member < 1) + throw new IllegalArgumentException("member may not be less than 1"); } /** - * Constructs a <code>NumberUp</code> object. + * Constructs a <code>NumberUpSupported</code> object. + * + * @param members the members supported for number up. + * + * @exception IllegalArgumentException if any element is invalid + * @exception NullPointerException if members is <code>null</code> or any + * element of members is <code>null</code>. */ public NumberUpSupported(int[][] members) { super(members); + + if (members == null) + throw new NullPointerException("members may not be null"); } /** - * Constructs a <code>NumberUp</code> object. + * Constructs a <code>NumberUpSupported</code> object with the + * given range for supported number up values. + * + * @param lowerBound the lower bound value + * @param upperBound the upper bound value + * + * @exception IllegalArgumentException if lowerBound <= upperbound + * and lowerBound < 1 */ public NumberUpSupported(int lowerBound, int upperBound) { super(lowerBound, upperBound); + + if (lowerBound < 1) + throw new IllegalArgumentException("lowerBound may not be less than 1"); + } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof NumberUpSupported)) + return false; + + return super.equals(obj); } /** * Returns category of this class. * - * @return the class <code>NumberUpSupported</code> itself + * @return The class <code>NumberUpSupported</code> itself. */ public Class getCategory() { @@ -86,7 +136,7 @@ public final class NumberUpSupported extends SetOfIntegerSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "number-up-supported". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java b/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java index ca63fffdaeb..1f9f0bf6f7e 100644 --- a/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java +++ b/libjava/classpath/javax/print/attribute/standard/OrientationRequested.java @@ -1,5 +1,5 @@ /* OrientationRequested.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,25 +44,64 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>OrientationRequested</code> printing attribute specifies + * the desired orientation of the print data on the media sheet. + * <p> + * The effect of this attribute may depend on the document format as + * some document formats (e.g. postscript) contains the orientation + * inside the print data. However for other formats like e.g. plain + * text this attribute will have an effect on the orientation. + * </p> + * <p> + * <b>IPP Compatibility:</b> OrientationRequested is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class OrientationRequested extends EnumSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute { private static final long serialVersionUID = -4447437289862822276L; + /** + * Orientation as portrait. + */ public static final OrientationRequested PORTRAIT = - new OrientationRequested(0); + new OrientationRequested(3); + + /** + * Orientation as landscape. + */ public static final OrientationRequested LANDSCAPE = - new OrientationRequested(1); + new OrientationRequested(4); + + /** + * Orientation as reversed landscape. + */ public static final OrientationRequested REVERSE_LANDSCAPE = - new OrientationRequested(2); + new OrientationRequested(5); + + /** + * Orientation as reversed portrait. + */ public static final OrientationRequested REVERSE_PORTRAIT = - new OrientationRequested(3); + new OrientationRequested(6); + - /** - * Constructs a <code>OrientationRequested</code> object. - */ + private static final String[] stringTable = { "portrait", "landscape", + "reverse-landscape", + "reverse-portrait" }; + + private static final OrientationRequested[] + enumValueTable = { PORTRAIT, LANDSCAPE, + REVERSE_LANDSCAPE, REVERSE_PORTRAIT }; + + /** + * Constructs a <code>OrientationRequested</code> object. + * + * @param value the value + */ protected OrientationRequested(int value) { super(value); @@ -71,7 +110,7 @@ public final class OrientationRequested extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>OrientationRequested</code> itself + * @return The class <code>OrientationRequested</code> itself. */ public Class getCategory() { @@ -81,10 +120,41 @@ public final class OrientationRequested extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "orientation-requested". */ public String getName() { return "orientation-requested"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } + + /** + * Returns the lowest used value by the enumerations of this class. + * . + * @return The lowest value used. + */ + protected int getOffset() + { + return 3; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java b/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java index 4bc1f6c8339..917064f5446 100644 --- a/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java +++ b/libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java @@ -1,5 +1,5 @@ /* OutputDeviceAssigned.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,18 @@ import javax.print.attribute.PrintJobAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>OutputDeviceAssigned</code> printing attribute specifies the + * output printer device assigned by a print service to a print job. + * <p> + * This may be empty if a print service is embedded in a printer, e.g. is the + * output device. However there exist print services with several physical + * output devices (e.g. CUPS classes) where this attribute provides the actual + * output device. + * </p> + * <p> + * <b>IPP Compatibility:</b> OutputDeviceAssigned is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class OutputDeviceAssigned extends TextSyntax @@ -54,9 +66,11 @@ public final class OutputDeviceAssigned extends TextSyntax /** * Creates a <code>OutputDeviceAssigned</code> object. * - * @param deviceName the user name + * @param deviceName the name of the device. + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if deviceName is null + * @exception NullPointerException if deviceName is <code>null</code>. */ public OutputDeviceAssigned(String deviceName, Locale locale) { @@ -64,11 +78,12 @@ public final class OutputDeviceAssigned extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +96,7 @@ public final class OutputDeviceAssigned extends TextSyntax /** * Returns category of this class. * - * @return the class <code>OutputDeviceAssigned</code> itself + * @return The class <code>OutputDeviceAssigned</code> itself. */ public Class getCategory() { @@ -89,9 +104,9 @@ public final class OutputDeviceAssigned extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "output-device-assigned" + * @return The name "output-device-assigned". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java b/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java index 79865390464..d3be3e5522a 100644 --- a/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java @@ -1,5 +1,5 @@ /* PDLOverrideSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,20 +42,44 @@ import javax.print.attribute.PrintServiceAttribute; /** + * The <code>PDLOverrideSupported</code> printing attribute specifies + * if a print services is capable of attempting to override document data + * instructions with IPP attributesc. + * <p> + * <b>IPP Compatibility:</b> PDLOverrideSupported is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class PDLOverrideSupported extends EnumSyntax implements PrintServiceAttribute { private static final long serialVersionUID = -4393264467928463934L; + /** + * Indicates that the print service is not capable of + * attempting to override document data instructions. + */ public static final PDLOverrideSupported NOT_ATTEMPTED = new PDLOverrideSupported(0); + + /** + * Indicates that the print service is capable of + * attempting to override document data instructions. + */ public static final PDLOverrideSupported ATTEMPTED = - new PDLOverrideSupported(0); + new PDLOverrideSupported(1); + + private static final String[] stringTable = { "not-attempted", "attempted" }; + + private static final PDLOverrideSupported[] enumValueTable = { NOT_ATTEMPTED, + ATTEMPTED}; /** * Constructs a <code>PDLOverrideSupported</code> object. + * + * @param value the enum value */ protected PDLOverrideSupported(int value) { @@ -65,7 +89,7 @@ public class PDLOverrideSupported extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>PDLOverrideSupported</code> itself + * @return The class <code>PDLOverrideSupported</code> itself. */ public Class getCategory() { @@ -75,10 +99,31 @@ public class PDLOverrideSupported extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "pdl-override-supported". */ public String getName() { return "pdl-override-supported"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/PageRanges.java b/libjava/classpath/javax/print/attribute/standard/PageRanges.java index 2b3c632e2ad..3aa1b562549 100644 --- a/libjava/classpath/javax/print/attribute/standard/PageRanges.java +++ b/libjava/classpath/javax/print/attribute/standard/PageRanges.java @@ -1,5 +1,5 @@ /* PageRanges.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,19 @@ import javax.print.attribute.PrintRequestAttribute; import javax.print.attribute.SetOfIntegerSyntax; /** + * The <code>PageRanges</code> printing attribute specifies the + * range(s) of pages to be printed in a print job. + * <p> + * <b>Note:</b> The effect of this attribute on jobs with multiple + * documents is controlled by the job attribute + * {@link javax.print.attribute.standard.MultipleDocumentHandling}. + * </p> + * <p> + * <b>IPP Compatibility:</b> PageRanges is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PageRanges extends SetOfIntegerSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute @@ -52,33 +64,95 @@ public final class PageRanges extends SetOfIntegerSyntax private static final long serialVersionUID = 8639895197656148392L; /** - * Constructs a <code>PageRanges</code> object. + * Constructs a <code>PageRanges</code> object with only one + * page to be printed. + * + * @param member the only page to be printed. + * + * @exception IllegalArgumentException if member is < 1 */ public PageRanges(int member) { super(member); + + if (member < 1) + throw new IllegalArgumentException("member may not be less than 1"); } /** - * Constructs a <code>PageRanges</code> object. + * Constructs a <code>PageRanges</code> object with a set + * of ranges to be printed. + * + * @param members the page ranges to be printed. + * + * @exception IllegalArgumentException if any element is invalid + * @exception NullPointerException if members is <code>null</code> or any + * element of members is <code>null</code>. */ public PageRanges(int[][] members) { super(members); + + if (members == null) + throw new NullPointerException("members may not be null"); } /** - * Constructs a <code>PageRanges</code> object. + * Constructs a <code>PageRanges</code> object with the + * given single range of pages to be printed. + * + * @param lowerBound the lower bound value + * @param upperBound the upper bound value + * + * @exception IllegalArgumentException if lowerBound <= upperbound + * and lowerBound < 1 */ public PageRanges(int lowerBound, int upperBound) { super(lowerBound, upperBound); + + if (lowerBound < 1) + throw new IllegalArgumentException("lowerbound may not be less than 1"); + } + + /** + * Constructs a <code>PageRanges</code> object with a set + * of ranges to be printed in string array form. + * + * @param members the page ranges to be printed in string form. + * + * @exception IllegalArgumentException if any element is invalid. + * @exception NullPointerException if members is <code>null</code> or any + * element of members is <code>null</code>. + */ + public PageRanges(String members) + { + super(members); + + if (members == null) + throw new NullPointerException("members may not be null"); + } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof PageRanges)) + return false; + + return super.equals(obj); } /** * Returns category of this class. * - * @return the class <code>PageRanges</code> itself + * @return The class <code>PageRanges</code> itself. */ public Class getCategory() { @@ -88,7 +162,7 @@ public final class PageRanges extends SetOfIntegerSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "page-ranges". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java b/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java index db2658a7fdb..c06fb9746af 100644 --- a/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java +++ b/libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java @@ -1,5 +1,5 @@ /* PagesPerMinute.java -- - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,13 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintServiceAttribute; /** + * The <code>PagesPerMinute</code> printing attribute specifies + * the nominal number of pages per minute which may be printed + * by the printer. + * <p> + * <b>IPP Compatibility:</b> PagesPerMinute is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class PagesPerMinute extends IntegerSyntax @@ -54,7 +61,7 @@ public final class PagesPerMinute extends IntegerSyntax * * @param value the number of pages per minute * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public PagesPerMinute(int value) { @@ -65,11 +72,12 @@ public final class PagesPerMinute extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +90,7 @@ public final class PagesPerMinute extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>PagesPerMinute</code> itself + * @return The class <code>PagesPerMinute</code> itself. */ public Class getCategory() { @@ -90,9 +98,9 @@ public final class PagesPerMinute extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "pages-per-minute" + * @return The name "pages-per-minute". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java b/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java index 85421d70d4d..80a397e6381 100644 --- a/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java +++ b/libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java @@ -1,5 +1,5 @@ /* PagesPerMinuteColor.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,13 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintServiceAttribute; /** + * The <code>PagesPerMinuteColor</code> printing attribute specifies + * the nominal number of pages per minute which may be printed in + * color by the printer. + * <p> + * <b>IPP Compatibility:</b> PagesPerMinuteColor is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch */ public final class PagesPerMinuteColor extends IntegerSyntax @@ -51,9 +58,9 @@ public final class PagesPerMinuteColor extends IntegerSyntax /** * Creates a <code>PagesPerMinuteColor</code> object. * - * @param value the number of pages per minute + * @param value the number of pages per minute in color * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public PagesPerMinuteColor(int value) { @@ -64,11 +71,12 @@ public final class PagesPerMinuteColor extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +89,7 @@ public final class PagesPerMinuteColor extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>PagesPerMinuteColor</code> itself + * @return The class <code>PagesPerMinuteColor</code> itself. */ public Class getCategory() { @@ -89,9 +97,9 @@ public final class PagesPerMinuteColor extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "pages-per-minute-color" + * @return The name "pages-per-minute-color". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java b/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java index bd1821d12f8..3a479abfac4 100644 --- a/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java +++ b/libjava/classpath/javax/print/attribute/standard/PresentationDirection.java @@ -1,5 +1,5 @@ /* PresentationDirection.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,32 +43,90 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>PresentationDirection</code> attribute specifies + * a value to be used together with the <code>NumberUp</code> attribute + * to indicate the layout of multiple pages on a single media sheet. + * <p> + * <b>IPP Compatibility:</b> PresentationDirection is not an IPP 1.1 + * attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PresentationDirection extends EnumSyntax implements PrintRequestAttribute, PrintJobAttribute { private static final long serialVersionUID = 8294728067230931780L; + /** + * The single pages are arranged on the media in columns starting + * at the top left towards the bottom left. + */ public static final PresentationDirection TOBOTTOM_TORIGHT = new PresentationDirection(0); + + /** + * The single pages are arranged on the media in columns starting + * at the top right towards the bottom left. + */ public static final PresentationDirection TOBOTTOM_TOLEFT = new PresentationDirection(1); + + /** + * The single pages are arranged on the media in columns starting + * at the bottom left towards the top right. + */ public static final PresentationDirection TOTOP_TORIGHT = new PresentationDirection(2); + + /** + * The single pages are arranged on the media in columns starting + * at the bottom right towards the top left. + */ public static final PresentationDirection TOTOP_TOLEFT = new PresentationDirection(3); + + /** + * The single pages are arranged on the media in rows starting + * at the top left towards the right bottom. + */ public static final PresentationDirection TORIGHT_TOBOTTOM = new PresentationDirection(4); + + /** + * The single pages are arranged on the media in rows starting + * at the bottom left towards the right top. + */ public static final PresentationDirection TORIGHT_TOTOP = new PresentationDirection(5); + + /** + * The single pages are arranged on the media in rows starting + * at the top right towards the left bottom. + */ public static final PresentationDirection TOLEFT_TOBOTTOM = new PresentationDirection(6); + + /** + * The single pages are arranged on the media in rows starting + * at the bottom right towards the left top. + */ public static final PresentationDirection TOLEFT_TOTOP = new PresentationDirection(7); + private static final String[] stringTable = { "tobottom-toright", + "tobottom-toleft", "totop-toright", "totop-toleft", "toright-tobottom", + "toright-totop", "toleft-tobottom", "toleft-totop" }; + + private static final PresentationDirection[] enumValueTable = + { TOBOTTOM_TORIGHT, TOBOTTOM_TOLEFT, TOTOP_TORIGHT, TOTOP_TOLEFT, + TORIGHT_TOBOTTOM, TORIGHT_TOTOP, TOLEFT_TOBOTTOM, TOLEFT_TOTOP }; + /** * Constructs a <code>PresentationDirection</code> object. + * + * @param value the enum value. */ private PresentationDirection(int value) { @@ -78,7 +136,7 @@ public final class PresentationDirection extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>PresentationDirection</code> itself + * @return The class <code>PresentationDirection</code> itself. */ public Class getCategory() { @@ -88,10 +146,31 @@ public final class PresentationDirection extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "presentation-direction". */ public String getName() { return "presentation-direction"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/PrintQuality.java b/libjava/classpath/javax/print/attribute/standard/PrintQuality.java index 63be24e70f2..2f1a105ce54 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrintQuality.java +++ b/libjava/classpath/javax/print/attribute/standard/PrintQuality.java @@ -1,5 +1,5 @@ /* PrintQuality.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,19 +44,43 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>PrintQuality</code> printing attribute specifies the + * print quality that should be used by the print services for a job. + * <p> + * <b>IPP Compatibility:</b> PrintQuality is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@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); + /** + * Draft quality of the printer. + */ + public static final PrintQuality DRAFT = new PrintQuality(3); + + /** + * Normal quality of the printer. + */ + public static final PrintQuality NORMAL = new PrintQuality(4); + + /** + * High quality of the printer. + */ + public static final PrintQuality HIGH = new PrintQuality(5); + private static final String[] stringTable = { "draft", "normal", "high" }; + + private static final PrintQuality[] enumValueTable = { DRAFT, NORMAL, HIGH }; + /** * Constructs a <code>PrintQuality</code> object. + * + * @param value the value of the enum */ protected PrintQuality(int value) { @@ -66,7 +90,7 @@ public class PrintQuality extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>PrintQuality</code> itself + * @return The class <code>PrintQuality</code> itself. */ public Class getCategory() { @@ -74,12 +98,43 @@ public class PrintQuality extends EnumSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "print-quality" + * @return The name "print-quality". */ public String getName() { return "print-quality"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } + + /** + * Returns the lowest used value by the enumerations of this class. + * . + * @return The lowest value used. + */ + protected int getOffset() + { + return 3; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java b/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java index 66199c4821a..2cd496cf0c7 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterInfo.java @@ -1,5 +1,5 @@ /* PrinterInfo.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,12 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>PrinterInfo</code> printing attribute provides + * informations about a printer device. + * <p> + * <b>IPP Compatibility:</b> PrinterInfo is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class PrinterInfo extends TextSyntax @@ -55,9 +61,10 @@ public final class PrinterInfo extends TextSyntax * Creates a <code>PrinterInfo</code> object. * * @param printerInfo the printer info - * @param locale the locale of the info, null means default locale + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if printerInfo is null + * @exception NullPointerException if printerInfo is <code>null</code>. */ public PrinterInfo(String printerInfo, Locale locale) { @@ -65,11 +72,12 @@ public final class PrinterInfo extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +90,7 @@ public final class PrinterInfo extends TextSyntax /** * Returns category of this class. * - * @return the class <code>PrinterInfo</code> itself + * @return The class <code>PrinterInfo</code> itself. */ public Class getCategory() { @@ -90,9 +98,9 @@ public final class PrinterInfo extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-info" + * @return The name "printer-info". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java b/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java index 19b555a3619..51f96c11d6b 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java @@ -1,5 +1,5 @@ /* PrinterIsAcceptingJobs.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,20 +42,46 @@ import javax.print.attribute.PrintServiceAttribute; /** + * The <code>PrinterIsAcceptingJobs</code> printing attribute signals + * if a print services is currently accepting jobs. + * <p> + * <b>IPP Compatibility:</b> PrinterIsAcceptingJobs is an IPP 1.1 attribute. + * The IPP specification treats PrinterIsAcceptingJobs as boolean type which + * is not available in the Java Print Service API. The IPP boolean value "true" + * corresponds to <code>ACCEPTING_JOBS</code> and "false" + * to <code>NOT_ACCEPTING_JOBS</code>. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class PrinterIsAcceptingJobs extends EnumSyntax implements PrintServiceAttribute { private static final long serialVersionUID = -5052010680537678061L; + /** + * The printer is not accepting jobs currently. + */ public static final PrinterIsAcceptingJobs NOT_ACCEPTING_JOBS = new PrinterIsAcceptingJobs(0); + + /** + * The printer is accepting jobs. + */ public static final PrinterIsAcceptingJobs ACCEPTING_JOBS = new PrinterIsAcceptingJobs(1); + private static final String[] stringTable = { "not-accepting-jobs", + "accepting-jobs" }; + + private static final PrinterIsAcceptingJobs[] enumValueTable = + { NOT_ACCEPTING_JOBS, ACCEPTING_JOBS }; + /** * Constructs a <code>PrinterIsAcceptingJobs</code> object. + * + * @param value the enum value. */ protected PrinterIsAcceptingJobs(int value) { @@ -65,7 +91,7 @@ public class PrinterIsAcceptingJobs extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>PrinterIsAcceptingJobs</code> itself + * @return The class <code>PrinterIsAcceptingJobs</code> itself. */ public Class getCategory() { @@ -75,10 +101,31 @@ public class PrinterIsAcceptingJobs extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "printer-is-accepting-jobs". */ public String getName() { return "printer-is-accepting-jobs"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java b/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java index f342e8c4b89..35b61e4e5d1 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterLocation.java @@ -1,5 +1,5 @@ /* PrinterLocation.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,12 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>PrinterLocation</code> printing attribute provides the location + * of a printer device. This may be a room and building name for example. + * <p> + * <b>IPP Compatibility:</b> PrinterLocation is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class PrinterLocation extends TextSyntax @@ -55,9 +61,10 @@ public final class PrinterLocation extends TextSyntax * Creates a <code>PrinterLocation</code> object. * * @param printerLocation the printer location - * @param locale the locale of the location, null means default locale + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if printerLocation is null + * @exception NullPointerException if printerLocation is <code>null</code>. */ public PrinterLocation(String printerLocation, Locale locale) { @@ -65,11 +72,12 @@ public final class PrinterLocation extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +90,7 @@ public final class PrinterLocation extends TextSyntax /** * Returns category of this class. * - * @return the class <code>PrinterLocation</code> itself + * @return The class <code>PrinterLocation</code> itself. */ public Class getCategory() { @@ -90,9 +98,9 @@ public final class PrinterLocation extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-location" + * @return The name "printer-location". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java b/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java index c3f3a63881f..7010746a522 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java @@ -1,5 +1,5 @@ /* PrinterMakeAndModel.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,12 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>PrinterMakeAndModel</code> printing attribute provides the name + * of the maker and the model of the printer. + * <p> + * <b>IPP Compatibility:</b> PrinterMakeAndModel is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class PrinterMakeAndModel extends TextSyntax @@ -55,9 +61,10 @@ public final class PrinterMakeAndModel extends TextSyntax * 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 + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if makeAndModel is null + * @exception NullPointerException if makeAndModel is <code>null</code>. */ public PrinterMakeAndModel(String makeAndModel, Locale locale) { @@ -65,11 +72,12 @@ public final class PrinterMakeAndModel extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +90,7 @@ public final class PrinterMakeAndModel extends TextSyntax /** * Returns category of this class. * - * @return the class <code>PrinterMakeAndModel</code> itself + * @return The class <code>PrinterMakeAndModel</code> itself. */ public Class getCategory() { @@ -90,9 +98,9 @@ public final class PrinterMakeAndModel extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-make-and-model" + * @return The name "printer-make-and-model". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java b/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java index d231eb2aa82..b4f5d88bd45 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java @@ -1,5 +1,5 @@ /* PrinterMessageFromOperator.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,15 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>PrinterMessageFromOperator</code> printing attribute provides + * a message from an operator or a system administrator related to the + * printer. This may include informations about the status of the printer + * or expected downtimes, etc. + * <p> + * <b>IPP Compatibility:</b> PrinterMessageFromOperator is an IPP 1.1 + * attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class PrinterMessageFromOperator extends TextSyntax @@ -55,9 +64,10 @@ public final class PrinterMessageFromOperator extends TextSyntax * Creates a <code>PrinterMessageFromOperator</code> object. * * @param message the message - * @param locale the locale of the message, null means default locale + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if message is null + * @exception NullPointerException if message is <code>null</code>. */ public PrinterMessageFromOperator(String message, Locale locale) { @@ -65,11 +75,12 @@ public final class PrinterMessageFromOperator extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +93,7 @@ public final class PrinterMessageFromOperator extends TextSyntax /** * Returns category of this class. * - * @return the class <code>PrinterMessageFromOperator</code> itself + * @return The class <code>PrinterMessageFromOperator</code> itself. */ public Class getCategory() { @@ -90,9 +101,9 @@ public final class PrinterMessageFromOperator extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-message-from-operator" + * @return The name "printer-message-from-operator". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java index b0cf9739777..28abd4e3fb6 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java @@ -1,5 +1,5 @@ /* PrinterMoreInfo.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,18 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.URISyntax; /** + * The <code>PrinterMoreInfo</code> attribute provides a URI that can be used + * to obtain more information about the printer. + * <p> + * The URI may for example contain a reference to a HTML page with information. + * The information is normally intended for end users. + * </p> + * <p> + * <b>IPP Compatibility:</b> PrinterMoreInfo is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PrinterMoreInfo extends URISyntax implements PrintServiceAttribute @@ -53,16 +64,35 @@ public final class PrinterMoreInfo extends URISyntax /** * Constructs a <code>PrinterMoreInfo</code> object. + * + * @param uri the URI of the information. + * @throws NullPointerException if the given uri is null. */ public PrinterMoreInfo(URI uri) { super(uri); } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof PrinterMoreInfo)) + return false; + + return super.equals(obj); + } /** * Returns category of this class. * - * @return the class <code>PrinterMoreInfo</code> itself + * @return The class <code>PrinterMoreInfo</code> itself. */ public Class getCategory() { @@ -72,7 +102,7 @@ public final class PrinterMoreInfo extends URISyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "printer-more-info". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java index 0a39b866c7f..df0232e167d 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java @@ -1,5 +1,5 @@ /* PrinterMoreInfoManufacturer.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,22 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.URISyntax; /** + * The <code>PrinterMoreInfoManufacturer</code> attribute provides a URI that + * can be used to obtain more information about the printer device type and + * its manufacturer. + * <p> + * The URI may for example contain a reference to a website of the + * manufacturer, containing informations and links to the latest firmware, + * printer drivers, manual etc. The information is normally intended for + * end users. + * </p> + * <p> + * <b>IPP Compatibility:</b> PrinterMoreInfoManufacturer is an IPP 1.1 + * attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PrinterMoreInfoManufacturer extends URISyntax implements PrintServiceAttribute @@ -53,16 +68,35 @@ public final class PrinterMoreInfoManufacturer extends URISyntax /** * Constructs a <code>PrinterMoreInfoManufacturer</code> object. + * + * @param uri the URI of the information.. + * @throws NullPointerException if the given uri is null. */ public PrinterMoreInfoManufacturer(URI uri) { super(uri); } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof PrinterMoreInfoManufacturer)) + return false; + + return super.equals(obj); + } /** * Returns category of this class. * - * @return the class <code>PrinterMoreInfoManufacturer</code> itself + * @return The class <code>PrinterMoreInfoManufacturer</code> itself. */ public Class getCategory() { @@ -72,7 +106,7 @@ public final class PrinterMoreInfoManufacturer extends URISyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "printer-more-info-manufacturer". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterName.java b/libjava/classpath/javax/print/attribute/standard/PrinterName.java index d3b495bdb5c..5b7da605969 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterName.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterName.java @@ -1,5 +1,5 @@ /* PrinterName.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,14 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>PrinterName</code> printing attribute provides the name of a + * print service. The name may but must not be related to parts of the + * printer URI. + * <p> + * <b>IPP Compatibility:</b> PrinterName is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.PrinterURI + * * @author Michael Koch (konqueror@gmx.de) */ public final class PrinterName extends TextSyntax @@ -55,9 +63,10 @@ public final class PrinterName extends TextSyntax * Creates a <code>PrinterName</code> object. * * @param printerName the printer name - * @param locale the locale of the name, null means default locale + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if printerName is null + * @exception NullPointerException if printerName is <code>null</code>. */ public PrinterName(String printerName, Locale locale) { @@ -65,11 +74,12 @@ public final class PrinterName extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +92,7 @@ public final class PrinterName extends TextSyntax /** * Returns category of this class. * - * @return the class <code>PrinterName</code> itself + * @return The class <code>PrinterName</code> itself. */ public Class getCategory() { @@ -90,9 +100,9 @@ public final class PrinterName extends TextSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-name" + * @return The name "printer-name". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java b/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java index 6a237a8c33e..f4cde0f5e72 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterResolution.java @@ -1,5 +1,5 @@ -/* PrinterMoreInfoManufacturer.java -- - Copyright (C) 2004 Free Software Foundation, Inc. +/* PrinterResolution.java -- + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,14 @@ import javax.print.attribute.ResolutionSyntax; /** + * The <code>PrinterResolution</code> printing attribute specifies a + * resolution supported by a print service or to be used by a print job. + * <p> + * <b>IPP Compatibility:</b> PrinterResolution is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PrinterResolution extends ResolutionSyntax implements DocAttribute, PrintJobAttribute, PrintRequestAttribute @@ -52,18 +59,41 @@ public final class PrinterResolution extends ResolutionSyntax private static final long serialVersionUID = 13090306561090558L; /** - * Constructs a <code>PrinterResolution</code> object. + * Creates a <code>PrinterResolution</code> object with the given cross + * feed and feed resolutions. + * + * @param crossFeedResolution the cross feed resolution + * @param feedResolution the feed resolution + * @param units the unit to use (e.g. {@link #DPCM} or {@link #DPI}) + * + * @exception IllegalArgumentException if either parameter is < 1 */ public PrinterResolution(int crossFeedResolution, int feedResolution, int units) { super(crossFeedResolution, feedResolution, units); } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof PrinterResolution)) + return false; + + return super.equals(obj); + } /** * Returns category of this class. * - * @return the class <code>PrinterResolution</code> itself + * @return The class <code>PrinterResolution</code> itself. */ public Class getCategory() { @@ -73,7 +103,7 @@ public final class PrinterResolution extends ResolutionSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "printer-resolution". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterState.java b/libjava/classpath/javax/print/attribute/standard/PrinterState.java index 28d78cd50d3..6fd4c3f4643 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterState.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterState.java @@ -1,5 +1,5 @@ /* PrinterState.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,20 +42,61 @@ import javax.print.attribute.PrintServiceAttribute; /** + * The <code>PrinterState</code> printing attribute reports + * the current state of the printer device. + * <p> + * The {@link javax.print.attribute.standard.PrinterStateReasons} + * attribute provides further detailed information about + * the given printer state. Detailed information about the printer + * state and printer state reasons attributes can be found in the + * RFC 2911. + * </p> + * <p> + * <b>IPP Compatibility:</b> PrinterState is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PrinterState extends EnumSyntax implements PrintServiceAttribute { private static final long serialVersionUID = -649578618346507718L; + /** + * The state is unknown currently. + */ 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); + + /** + * The printer device is in idle state. New jobs can start + * processing without waiting. + */ + public static final PrinterState IDLE = new PrinterState(3); + + /** + * The printer device is in processing state. + */ + public static final PrinterState PROCESSING = new PrinterState(4); + + /** + * The printer device has stopped. No jobs can be processed and + * normally manual intervention is needed. + */ + public static final PrinterState STOPPED = new PrinterState(5); + private static final String[] stringTable = { "unknown", null, null, + "idle", "processing", + "stopped" }; + + private static final PrinterState[] enumValueTable = { UNKNOWN, null, null, + IDLE, PROCESSING, + STOPPED }; + /** * Constructs a <code>PrinterState</code> object. + * + * @param value the enum value. */ protected PrinterState(int value) { @@ -65,7 +106,7 @@ public final class PrinterState extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>PrinterState</code> itself + * @return The class <code>PrinterState</code> itself. */ public Class getCategory() { @@ -75,10 +116,31 @@ public final class PrinterState extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "printer-state". */ public String getName() { return "printer-state"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java b/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java index 847395e4946..3a13585441b 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java @@ -1,5 +1,5 @@ /* PrinterStateReason.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,76 +42,246 @@ import javax.print.attribute.Attribute; import javax.print.attribute.EnumSyntax; /** + * The <code>PrinterStateReason</code> attribute provides additional + * information about the current state of the printer device. Its always part + * of the {@link javax.print.attribute.standard.PrinterStateReasons} + * printing attribute. + * <p> + * <b>IPP Compatibility:</b> PrinterStateReason is not an IPP 1.1 + * attribute itself but used inside the <code>PrinterStateReasons</code> + * attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class PrinterStateReason extends EnumSyntax implements Attribute { private static final long serialVersionUID = -1623720656201472593L; + /** + * Any state other state not listed here. + */ public static final PrinterStateReason OTHER = new PrinterStateReason(0); + + /** + * A media tray has run out of media. + */ public static final PrinterStateReason MEDIA_NEEDED = new PrinterStateReason(1); + + /** + * A media jam occured in the printer device. + */ public static final PrinterStateReason MEDIA_JAM = new PrinterStateReason(2); + + /** + * Indicates that the printer has been paused by the pause printer + * operation and is currently moving to the pause state. + */ public static final PrinterStateReason MOVING_TO_PAUSED = new PrinterStateReason(3); + + /** + * The printer device has be paused by the pause printer operation. + */ public static final PrinterStateReason PAUSED = new PrinterStateReason(4); + + /** + * The printer device has been shutdown or removed from service. + */ public static final PrinterStateReason SHUTDOWN = new PrinterStateReason(5); + + /** + * The printer object is connecting to the device. If a printer + * device is on the network the printer object may be unable to connect. + */ public static final PrinterStateReason CONNECTING_TO_DEVICE = new PrinterStateReason(6); + + /** + * The connection to the device has timed out. + */ public static final PrinterStateReason TIMED_OUT = new PrinterStateReason(7); + + /** + * The printer object is stopping the printer device. + */ public static final PrinterStateReason STOPPING = new PrinterStateReason(8); + + /** + * The printer object has stopped partly. A printer object may control + * several physical output devices (e.g. a printer class in CUPS) and + * stop only some of the devices. + */ public static final PrinterStateReason STOPPED_PARTLY = new PrinterStateReason(9); + + /** + * The printer device is low on toner. + */ public static final PrinterStateReason TONER_LOW = new PrinterStateReason(10); + + /** + * The printer device is out of toner. + */ public static final PrinterStateReason TONER_EMPTY = new PrinterStateReason(11); + + /** + * The printers spool area is currently full. The printer is + * currently not able to accept jobs. + */ public static final PrinterStateReason SPOOL_AREA_FULL = new PrinterStateReason(12); + + /** + * One or more covers of the printer device are open. + */ public static final PrinterStateReason COVER_OPEN = new PrinterStateReason(13); + + /** + * One or more interlocks of the printer device are open. + */ public static final PrinterStateReason INTERLOCK_OPEN = new PrinterStateReason(14); + + /** + * One or more doors of the printer device are open. + */ public static final PrinterStateReason DOOR_OPEN = new PrinterStateReason(15); + + /** + * One or more input trays are missing in the printer device. + */ public static final PrinterStateReason INPUT_TRAY_MISSING = new PrinterStateReason(16); + + /** + * The printer device is low on media. + */ public static final PrinterStateReason MEDIA_LOW = new PrinterStateReason(17); + + /** + * The printer device is out of media. + */ public static final PrinterStateReason MEDIA_EMPTY = new PrinterStateReason(18); + + /** + * One or more output trays are missing in the printer device. + */ public static final PrinterStateReason OUTPUT_TRAY_MISSING = new PrinterStateReason(19); + + /** + * One or more output areas of the printer device are almost full. + */ public static final PrinterStateReason OUTPUT_AREA_ALMOST_FULL = new PrinterStateReason(20); + + /** + * One or more output areas of the printer device are full. + */ public static final PrinterStateReason OUTPUT_AREA_FULL = new PrinterStateReason(21); + + /** + * The printer device is low on marker supply. + */ public static final PrinterStateReason MARKER_SUPPLY_LOW = new PrinterStateReason(22); + + /** + * The printer device is out of marker supply. + */ public static final PrinterStateReason MARKER_SUPPLY_EMPTY = new PrinterStateReason(23); + + /** + * The marker waste bin of the printer device is almost full. + */ public static final PrinterStateReason MARKER_WASTE_ALMOST_FULL = new PrinterStateReason(24); + + /** + * The marker waste bin of the printer device is full. + */ public static final PrinterStateReason MARKER_WASTE_FULL = new PrinterStateReason(25); + + /** + * The fuser of the printer device is over temperature. + */ public static final PrinterStateReason FUSER_OVER_TEMP = new PrinterStateReason(26); + + /** + * The fuser of the printer device is under the needed temperature. + */ public static final PrinterStateReason FUSER_UNDER_TEMP = new PrinterStateReason(27); + + /** + * The optical photo conductor is near its end of life (EOL). + */ public static final PrinterStateReason OPC_NEAR_EOL = new PrinterStateReason(28); + + /** + * The optical photo conductor has reached its end of life. + */ public static final PrinterStateReason OPC_LIFE_OVER = new PrinterStateReason(29); + + /** + * The printer device is low on developer. + */ public static final PrinterStateReason DEVELOPER_LOW = new PrinterStateReason(30); + + /** + * The printer device is out of developer. + */ public static final PrinterStateReason DEVELOPER_EMPTY = new PrinterStateReason(31); + + /** + * An interpreter resource (e.g. font) is unavailable. + */ public static final PrinterStateReason INTERPRETER_RESOURCE_UNAVAILABLE = new PrinterStateReason(32); + private static final String[] stringTable = + { "other", "media-needed", "media-jam", "moving-to-paused", "paused", + "shutdown", "connecting-to-device", "timed-out", "stopping", + "stopped-partly", "toner-low", "toner-empty", "spool-area-full", + "cover-open", "interlock-open", "door-open", "input-tray-missing", + "media-low", "media-empty", "output-tray-missing", "output-area-almost-full", + "output-area-full", "marker-supply-low", "marker-supply-empty", + "marker-waste-almost-full", "marker-waste-full", "fuser-over-temp", + "fuser-under-temp", "opc-near-eol", "opc-life-over", "developer-low", + "developer-empty", "interpreter-resource-unavailable" }; + + private static final PrinterStateReason[] enumValueTable = + { OTHER, MEDIA_NEEDED, MEDIA_JAM, MOVING_TO_PAUSED, PAUSED, SHUTDOWN, + CONNECTING_TO_DEVICE, TIMED_OUT, STOPPING, STOPPED_PARTLY, TONER_LOW, + TONER_EMPTY, SPOOL_AREA_FULL, COVER_OPEN, INTERLOCK_OPEN, DOOR_OPEN, + INPUT_TRAY_MISSING, MEDIA_LOW, MEDIA_EMPTY, OUTPUT_TRAY_MISSING, + OUTPUT_AREA_ALMOST_FULL, OUTPUT_AREA_FULL, MARKER_SUPPLY_LOW, + MARKER_SUPPLY_EMPTY, MARKER_WASTE_ALMOST_FULL, MARKER_WASTE_FULL, + FUSER_OVER_TEMP, FUSER_UNDER_TEMP, OPC_NEAR_EOL, OPC_LIFE_OVER, + DEVELOPER_LOW, DEVELOPER_EMPTY, INTERPRETER_RESOURCE_UNAVAILABLE }; + /** * Constructs a <code>PrinterStateReason</code> object. + * + * @param value the enum value. */ protected PrinterStateReason(int value) { @@ -121,7 +291,7 @@ public class PrinterStateReason extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>PrintStateReason</code> itself + * @return The class <code>PrintStateReason</code> itself. */ public Class getCategory() { @@ -129,12 +299,33 @@ public class PrinterStateReason extends EnumSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-state-reason" + * @return The name "printer-state-reason". */ public String getName() { return "printer-state-reason"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java b/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java index d81313f7c85..67f160d42fc 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java @@ -1,5 +1,5 @@ /* PrinterStateReasons.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,12 +38,35 @@ exception statement from your version. */ package javax.print.attribute.standard; +import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; import javax.print.attribute.PrintServiceAttribute; /** + * The <code>PrinterStateReasons</code> attribute provides the set of + * additional informations available about the current state of the printer + * device. + * <p> + * The attribute is basically a map with <code>PrinterStateReason</code> + * objects as keys associated with their severity level as + * <code>Severity</code> instances. The IPP keyword value can be + * constructed as follows: <br> + * <code>reason.toString() + '-' + severity.toString()</code> + * </p> + * <p> + * <b>IPP Compatibility:</b> PrinterStateReasons is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.PrinterState + * @see javax.print.attribute.standard.PrinterStateReason + * @see javax.print.attribute.standard.Severity + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PrinterStateReasons extends HashMap implements PrintServiceAttribute @@ -51,9 +74,117 @@ public final class PrinterStateReasons extends HashMap private static final long serialVersionUID = -3731791085163619457L; /** + * Constructs an empty <code>PrinterStateReasons</code> attribute. + */ + public PrinterStateReasons() + { + super(); + } + + /** + * Constructs an empty <code>PrinterStateReasons</code> attribute + * with the given initial capacity and load factor. + * + * @param initialCapacity the intial capacity. + * @param loadFactor the load factor of the underlying HashMap. + * + * @throws IllegalArgumentException if initialCapacity < 0 + * @throws IllegalArgumentException if initialCapacity or loadFactor < 0 + */ + public PrinterStateReasons(int initialCapacity, float loadFactor) + { + super(initialCapacity, loadFactor); + } + + /** + * Constructs an empty <code>PrinterStateReasons</code> attribute + * with the given initial capacity and the default load factor. + * + * @param initialCapacity the intial capacity. + * + * @throws IllegalArgumentException if initialCapacity < 0 + */ + public PrinterStateReasons(int initialCapacity) + { + super(initialCapacity); + } + + /** + * Constructs a <code>PrinterStateReasons</code> attribute + * with the given content of the map. + * + * @param map the map for the initial values with the same + * <code>PrinterStateReason</code> to <code>Severity</code> mappings. + * + * @throws NullPointerException if map or any key/value is <code>null</code>. + * @throws ClassCastException if values of map are not of type + * <code>PrinterStateReason</code> and keys are not of type + * <code>Severity</code>. + */ + public PrinterStateReasons(Map map) + { + super(map.size(), 0.75f); + Iterator it = map.entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry entry = (Map.Entry) it.next(); + put(entry.getKey(), entry.getValue()); + } + } + + /** + * Constructs an unmodifiable view of the contained printer state reasons + * associated with the given severity level. + * + * @param severity the severity level for the constructed set. + * @return The set of printer state reasons. + */ + public Set printerStateReasonSet(Severity severity) + { + if (severity == null) + throw new NullPointerException("severity is null"); + + HashSet set = new HashSet(); + Iterator it = entrySet().iterator(); + while (it.hasNext()) + { + Map.Entry entry = (Map.Entry) it.next(); + if (entry.getValue().equals(severity)) + set.add(entry.getKey()); + } + + return Collections.unmodifiableSet(set); + } + + /** + * Puts the given reason object associated with the given severity object + * into the set. + * + * @param reason the reason of type <code>PrinterStateReason</code>. + * @param severity the severity of the reason of type <code>Severity</code>. + * + * @return The previously associated severity of the reason or + * <code>null</code> if the reason object was not in the map before. + * + * @throws NullPointerException if any of the values is <code>null</code>. + * @throws ClassCastException if reason is not a + * <code>PrinterStateReason</code> and severity is not a + * <code>Severity</code> instance. + */ + public Object put(Object reason, Object severity) + { + if (reason == null) + throw new NullPointerException("reason is null"); + if (severity == null) + throw new NullPointerException("severity is null"); + + return put((PrinterStateReason) reason, (Severity) severity); + } + + /** * Returns category of this class. * - * @return the class <code>PrintStateReasons</code> itself + * @return The class <code>PrintStateReasons</code> itself. */ public Class getCategory() { @@ -61,9 +192,9 @@ public final class PrinterStateReasons extends HashMap } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-state-reasons" + * @return The name "printer-state-reasons". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/PrinterURI.java b/libjava/classpath/javax/print/attribute/standard/PrinterURI.java index e4c89a5c84f..0deca90bed2 100644 --- a/libjava/classpath/javax/print/attribute/standard/PrinterURI.java +++ b/libjava/classpath/javax/print/attribute/standard/PrinterURI.java @@ -1,5 +1,5 @@ /* PrinterURI.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,7 +44,18 @@ import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.URISyntax; /** + * The <code>PrinterURI</code> attribute provides the URI of a printer. + * <p> + * The URI identifies the printer against all the other print services + * available. This attribute is used to direct a print service request + * to this specific printer. + * </p> + * <p> + * <b>IPP Compatibility:</b> PrinterURI is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class PrinterURI extends URISyntax implements PrintServiceAttribute @@ -53,16 +64,35 @@ public final class PrinterURI extends URISyntax /** * Constructs a <code>PrinterURI</code> object. + * + * @param uri the URI of the print service. + * @throws NullPointerException if the given uri is null. */ public PrinterURI(URI uri) { super(uri); } + + /** + * Tests if the given object is equal to this object. + * + * @param obj the object to test + * + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof PrinterURI)) + return false; + + return super.equals(obj); + } /** * Returns category of this class. * - * @return the class <code>PrinterURI</code> itself + * @return The class <code>PrinterURI</code> itself. */ public Class getCategory() { @@ -70,9 +100,9 @@ public final class PrinterURI extends URISyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "printer-uri" + * @return The name "printer-uri". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java b/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java index 7ee0f7c3598..8ff46a95459 100644 --- a/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java +++ b/libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java @@ -1,5 +1,5 @@ /* QueuedJobCount.java -- - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,6 +41,15 @@ import javax.print.attribute.IntegerSyntax; import javax.print.attribute.PrintServiceAttribute; /** + * The <code>QueuedJobCount</code> printing attribute reports + * the number of jobs currently in the queue. These are jobs + * that are in 'pending', 'processing', 'pending-held' or + * 'processing-stopped' state. + * <p> + * <b>IPP Compatibility:</b> QueuedJobCount is an IPP 1.1 attribute. + * </p> + * @see javax.print.attribute.standard.JobState + * * @author Michael Koch */ public final class QueuedJobCount extends IntegerSyntax @@ -53,7 +62,7 @@ public final class QueuedJobCount extends IntegerSyntax * * @param value the number of queued jobs * - * @exception IllegalArgumentException if value < 0 + * @exception IllegalArgumentException if value < 0 */ public QueuedJobCount(int value) { @@ -64,11 +73,12 @@ public final class QueuedJobCount extends IntegerSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -81,7 +91,7 @@ public final class QueuedJobCount extends IntegerSyntax /** * Returns category of this class. * - * @return the class <code>QueuedJobCount</code> itself + * @return The class <code>QueuedJobCount</code> itself. */ public Class getCategory() { @@ -89,9 +99,9 @@ public final class QueuedJobCount extends IntegerSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "queued-job-count" + * @return The name "queued-job-count". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java b/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java index b4c0d9408c8..8a00218b8b7 100644 --- a/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java +++ b/libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java @@ -1,5 +1,5 @@ /* ReferenceUriSchemesSupported.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,33 +42,82 @@ import javax.print.attribute.EnumSyntax; /** + * The <code>ReferenceUriSchemesSupported</code> attribute provides + * the supported URI schemes (e.g. ftp) which are supported by the + * printer service to be used as uri reference for document data. + * <p> + * <b>IPP Compatibility:</b> ReferenceUriSchemesSupported is an IPP 1.1 + * attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public class ReferenceUriSchemesSupported extends EnumSyntax implements Attribute { private static final long serialVersionUID = -8989076942813442805L; + /** + * The file transfer protocol (FTP). + */ public static final ReferenceUriSchemesSupported FTP = new ReferenceUriSchemesSupported(0); + + /** + * The hyper text transfer protocol (HTTP). + */ public static final ReferenceUriSchemesSupported HTTP = new ReferenceUriSchemesSupported(1); + + /** + * The secure hyper text transfer protocol (HTTPS). + */ public static final ReferenceUriSchemesSupported HTTPS = new ReferenceUriSchemesSupported(2); + + /** + * The gopher protocol. + */ public static final ReferenceUriSchemesSupported GOPHER = new ReferenceUriSchemesSupported(3); + + /** + * The USENET news - RFC 1738. + */ public static final ReferenceUriSchemesSupported NEWS = new ReferenceUriSchemesSupported(4); + + /** + * The network news transfer protocol (NNTP) - RFC 1738. + */ public static final ReferenceUriSchemesSupported NNTP = new ReferenceUriSchemesSupported(5); + + /** + * The wide area information server protocol (WAIS) - RFC 4156. + */ public static final ReferenceUriSchemesSupported WAIS = new ReferenceUriSchemesSupported(6); + + /** + * A filename specific to the host. + */ public static final ReferenceUriSchemesSupported FILE = new ReferenceUriSchemesSupported(7); - /** - * Constructs a <code>ReferenceUriSchemeSupported</code> object. - */ + private static final String[] stringTable = { "ftp", "http", "https", + "gopher", "news", "nntp", + "wais", "file" }; + + private static final ReferenceUriSchemesSupported[] enumValueTable = + { FTP, HTTP, HTTPS, GOPHER, NEWS, NNTP, WAIS, FILE }; + + /** + * Constructs a <code>ReferenceUriSchemeSupported</code> object. + * + * @param value the enum value. + */ protected ReferenceUriSchemesSupported(int value) { super(value); @@ -77,7 +126,7 @@ public class ReferenceUriSchemesSupported extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>ReferenceUriSchemesSupported</code> itself + * @return The class <code>ReferenceUriSchemesSupported</code> itself. */ public Class getCategory() { @@ -85,12 +134,33 @@ public class ReferenceUriSchemesSupported extends EnumSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "reference-uri-schemes-supported" + * @return The name "reference-uri-schemes-supported". */ public String getName() { return "reference-uri-schemes-supported"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java b/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java index bca7fbbb435..8b947036c45 100644 --- a/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java +++ b/libjava/classpath/javax/print/attribute/standard/RequestingUserName.java @@ -1,5 +1,5 @@ /* RequestingUserName.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,6 +44,12 @@ import javax.print.attribute.PrintRequestAttribute; import javax.print.attribute.TextSyntax; /** + * The <code>RequestingUserName</code> attribute provides the name of + * the user which requests the printing of the given job. + * <p> + * <b>IPP Compatibility:</b> RequestingUserName is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) */ public final class RequestingUserName extends TextSyntax @@ -54,10 +60,11 @@ public final class RequestingUserName extends TextSyntax /** * Creates a <code>RequestingUserName</code> object. * - * @param userName the job name - * @param locale the locale of the user, null means default locale + * @param userName the user name + * @param locale the locale to use, if <code>null</code> the default + * locale is used. * - * @exception NullPointerException if userName is null + * @exception NullPointerException if userName is <code>null</code>. */ public RequestingUserName(String userName, Locale locale) { @@ -65,11 +72,12 @@ public final class RequestingUserName extends TextSyntax } /** - * Tests of obj is equal to this object. + * Tests if the given object is equal to this object. * * @param obj the object to test * - * @return true if both objects are equal, false otherwise. + * @return <code>true</code> if both objects are equal, + * <code>false</code> otherwise. */ public boolean equals(Object obj) { @@ -82,7 +90,7 @@ public final class RequestingUserName extends TextSyntax /** * Returns category of this attribute. * - * @return the class <code>RequestingUserName</code> itself + * @return The class <code>RequestingUserName</code> itself. */ public Class getCategory() { @@ -90,9 +98,9 @@ public final class RequestingUserName extends TextSyntax } /** - * Returns name of this attribute. + * Returns the name of this attribute. * - * @return the string "requesting-user-name" + * @return The name "requesting-user-name". */ public String getName() { diff --git a/libjava/classpath/javax/print/attribute/standard/Severity.java b/libjava/classpath/javax/print/attribute/standard/Severity.java index c34ed3e29fa..5569816de8e 100644 --- a/libjava/classpath/javax/print/attribute/standard/Severity.java +++ b/libjava/classpath/javax/print/attribute/standard/Severity.java @@ -1,5 +1,5 @@ /* Severity.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,19 +42,50 @@ import javax.print.attribute.EnumSyntax; /** + * The <code>Severity</code> printing attribute specifies the severity + * for a <code>PrinterStateReason</code> attribute. + * <p> + * This attribute does not appear in the attribute set of a print service + * itself. Its used inside the <code>PrinterStateReasons</code> + * attribute which contains <code>PrinterStateReason</code> objects which + * informs about the print service's status. + * </p> + * <p> + * <b>IPP Compatibility:</b> Severity is not an IPP attribute on its own + * but used in the PrinterStateReason attribute to indicate the severity. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class Severity extends EnumSyntax implements Attribute { private static final long serialVersionUID = 8781881462717925380L; + /** + * Indicates that the reason is a report. + */ public static final Severity REPORT = new Severity(0); + + /** + * Indicates that the reason is a warning. + */ public static final Severity WARNING = new Severity(1); + + /** + * Indicates that the reason is an error. + */ public static final Severity ERROR = new Severity(2); + private static final String[] stringTable = { "report", "warning", "error" }; + + private static final Severity[] enumValueTable = { REPORT, WARNING, ERROR }; + /** * Constructs a <code>Severity</code> object. + * + * @param value the enum value. */ protected Severity(int value) { @@ -64,7 +95,7 @@ public final class Severity extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>Severity</code> itself + * @return The class <code>Severity</code> itself. */ public Class getCategory() { @@ -72,12 +103,33 @@ public final class Severity extends EnumSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "severity" + * @return The name "severity". */ public String getName() { return "severity"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/SheetCollate.java b/libjava/classpath/javax/print/attribute/standard/SheetCollate.java index a4e31f44374..5343bc6df1b 100644 --- a/libjava/classpath/javax/print/attribute/standard/SheetCollate.java +++ b/libjava/classpath/javax/print/attribute/standard/SheetCollate.java @@ -1,5 +1,5 @@ /* SheetCollate.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,16 +44,49 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>SheetCollate</code> printing attribute specifies + * whether or not the sheets of each copy in a print job have to be + * in sequence. + * <p> + * The attribute only makes sense if multiple copies are specified through + * the <code>Copies</code> printing attribute. If <code>UNCOLLATED</code> + * is specified every page of a print job is printed for all requested + * copies before the next page is processed. <code>COLLATED</code> means + * that for every copy requested the pages have to be printed in sequence. + * </p> + * <p> + * <b>IPP Compatibility:</b> SheetCollate is not an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class SheetCollate extends EnumSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute { private static final long serialVersionUID = 7080587914259873003L; + /** + * The sheets of the different copies are uncollated. + */ public static final SheetCollate UNCOLLATED = new SheetCollate(0); + + /** + * The sheets of the different copies are collated. + */ public static final SheetCollate COLLATED = new SheetCollate(1); + + private static final String[] stringTable = { "uncollated", "collated" }; + + private static final SheetCollate[] enumValueTable = { UNCOLLATED, + COLLATED }; + + /** + * Creates a <code>SheetCollate</code> object. + * + * @param value the enum value. + */ protected SheetCollate(int value) { super(value); @@ -62,7 +95,7 @@ public final class SheetCollate extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>SheetCollate</code> itself + * @return The class <code>SheetCollate</code> itself. */ public Class getCategory() { @@ -70,12 +103,33 @@ public final class SheetCollate extends EnumSyntax } /** - * Returns name of this class. + * Returns the name of this attribute. * - * @return the string "sheet-collate" + * @return The name "sheet-collate". */ public String getName() { return "sheet-collate"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/Sides.java b/libjava/classpath/javax/print/attribute/standard/Sides.java index 94b473c338f..816365aedea 100644 --- a/libjava/classpath/javax/print/attribute/standard/Sides.java +++ b/libjava/classpath/javax/print/attribute/standard/Sides.java @@ -1,5 +1,5 @@ /* Sides.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,19 +44,55 @@ import javax.print.attribute.PrintRequestAttribute; /** + * The <code>Sides</code> printing attribute specifies how consecutive + * printing pages are arranged on the media sheet. + * <p> + * <b>IPP Compatibility:</b> Sides is an IPP 1.1 attribute. + * </p> + * * @author Michael Koch (konqueror@gmx.de) + * @author Wolfgang Baer (WBaer@gmx.de) */ public final class Sides extends EnumSyntax implements DocAttribute, PrintRequestAttribute, PrintJobAttribute { private static final long serialVersionUID = -6890309414893262822L; + /** + * Specifies that each page should be printed on one sheet. + */ public static final Sides ONE_SIDED = new Sides(0); + + /** + * Specifies that two following pages should be printed on the + * front and back of one sheet for binding on the long edge. + */ public static final Sides TWO_SIDED_LONG_EDGE = new Sides(1); + + /** + * Specifies that two following pages should be printed on the + * front and back of one sheet for binding on the short edge. + */ 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); + + /** + * An alias constant for "two sided long edge". + */ + public static final Sides DUPLEX = new Sides(1); + + /** + * An alias constant for "two sided short edge". + */ + public static final Sides TUMBLE = new Sides(2); + private static final String[] stringTable = { "one-sided", + "two-sided-long-edge", + "two-sided-short-edge" }; + + private static final Sides[] enumValueTable = { ONE_SIDED, + TWO_SIDED_LONG_EDGE, + TWO_SIDED_SHORT_EDGE }; + /** * Creates a <code>Sides</code> object. * @@ -70,7 +106,7 @@ public final class Sides extends EnumSyntax /** * Returns category of this class. * - * @return the class <code>Sides</code> itself + * @return The class <code>Sides</code> itself. */ public Class getCategory() { @@ -80,10 +116,31 @@ public final class Sides extends EnumSyntax /** * Returns the name of this attribute. * - * @return the name + * @return The name "sides". */ public String getName() { return "sides"; } + + /** + * Returns a table with the enumeration values represented as strings + * for this object. + * + * @return The enumeration values as strings. + */ + protected String[] getStringTable() + { + return stringTable; + } + + /** + * Returns a table with the enumeration values for this object. + * + * @return The enumeration values. + */ + protected EnumSyntax[] getEnumValueTable() + { + return enumValueTable; + } } diff --git a/libjava/classpath/javax/print/attribute/standard/package.html b/libjava/classpath/javax/print/attribute/standard/package.html index 9d2d97009e3..4248acfcedc 100644 --- a/libjava/classpath/javax/print/attribute/standard/package.html +++ b/libjava/classpath/javax/print/attribute/standard/package.html @@ -1,7 +1,7 @@ <!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. + Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,7 +41,10 @@ exception statement from your version. --> <head><title>GNU Classpath - javax.print.attribute.standard</title></head> <body> -<p></p> - +<p>Provides the printing attribute classes of the Java Print +Service API.</p> +<p> +<b>Since:</b> 1.4 +</p> </body> </html> |