summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/javax/print/attribute/standard/PageRanges.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/print/attribute/standard/PageRanges.java')
-rw-r--r--libjava/classpath/javax/print/attribute/standard/PageRanges.java86
1 files changed, 80 insertions, 6 deletions
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 &lt; 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 &lt;= upperbound
+ * and lowerBound &lt; 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()
{
OpenPOWER on IntegriCloud