Hi,
this add the missing methods / constructors too
javax.print.attribute.standard.JobStateReasons and
javax.print.attribute.standard.PrinterStateReasons.
Regards,
Wolfgang
2005-12-19 Wolfgang Baer <[EMAIL PROTECTED]>
* javax/print/attribute/standard/JobStateReasons.java:
Added and updated javadocs to class and methods.
(JobStateReasons): New constructor.
(JobStateReasons): Likewise.
(JobStateReasons): Likewise.
(JobStateReasons): Likewise.
(add): New overridden method.
* javax/print/attribute/standard/PrinterStateReasons.java:
Added and updated javadocs to class and methods.
(PrinterStateReasons): New constructor.
(PrinterStateReasons): Likewise.
(PrinterStateReasons): Likewise.
(PrinterStateReasons): Likewise.
(printerStateReasonSet): New method.
(put): New overridden method.
Index: javax/print/attribute/standard/JobStateReasons.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/print/attribute/standard/JobStateReasons.java,v
retrieving revision 1.4
diff -u -r1.4 JobStateReasons.java
--- javax/print/attribute/standard/JobStateReasons.java 2 Jul 2005 20:32:46 -0000 1.4
+++ javax/print/attribute/standard/JobStateReasons.java 19 Dec 2005 09:28:14 -0000
@@ -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 @@
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 ([EMAIL PROTECTED])
+ * @author Wolfgang Baer ([EMAIL PROTECTED])
*/
public final class JobStateReasons extends HashSet
implements PrintJobAttribute
@@ -51,9 +62,82 @@
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 @@
/**
* Returns the name of this attribute.
*
- * @return the name
+ * @return The name "job-state-reasons".
*/
public String getName()
{
Index: javax/print/attribute/standard/PrinterStateReasons.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/print/attribute/standard/PrinterStateReasons.java,v
retrieving revision 1.4
diff -u -r1.4 PrinterStateReasons.java
--- javax/print/attribute/standard/PrinterStateReasons.java 2 Jul 2005 20:32:46 -0000 1.4
+++ javax/print/attribute/standard/PrinterStateReasons.java 19 Dec 2005 09:28:14 -0000
@@ -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 @@
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 ([EMAIL PROTECTED])
+ * @author Wolfgang Baer ([EMAIL PROTECTED])
*/
public final class PrinterStateReasons extends HashMap
implements PrintServiceAttribute
@@ -51,9 +74,117 @@
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 @@
}
/**
- * 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()
{
_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches