--- old/src/java.desktop/share/classes/javax/print/attribute/SetOfIntegerSyntax.java 2017-07-16 16:17:41.000000000 -0700 +++ new/src/java.desktop/share/classes/javax/print/attribute/SetOfIntegerSyntax.java 2017-07-16 16:17:41.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,82 +23,82 @@ * questions. */ - package javax.print.attribute; import java.io.Serializable; import java.util.Vector; /** - * Class SetOfIntegerSyntax is an abstract base class providing the common - * implementation of all attributes whose value is a set of nonnegative + * Class {@code SetOfIntegerSyntax} is an abstract base class providing the + * common implementation of all attributes whose value is a set of nonnegative * integers. This includes attributes whose value is a single range of integers * and attributes whose value is a set of ranges of integers. - *
- * You can construct an instance of SetOfIntegerSyntax by giving it in "string - * form." The string consists of zero or more comma-separated integer groups. - * Each integer group consists of either one integer, two integers separated by - * a hyphen ({@code -}), or two integers separated by a colon - * ({@code :}). Each integer consists of one or more decimal digits - * ({@code 0} through {@code 9}). Whitespace characters cannot - * appear within an integer but are otherwise ignored. For example: - * {@code ""}, {@code "1"}, {@code "5-10"}, {@code "1:2, 4"}. - *
- * You can also construct an instance of SetOfIntegerSyntax by giving it in - * "array form." Array form consists of an array of zero or more integer groups - * where each integer group is a length-1 or length-2 array of - * {@code int}s; for example, {@code int[0][]}, - * {@code int[][]{{1}}}, {@code int[][]{{5,10}}}, - * {@code int[][]{{1,2},{4}}}. - *
+ *
+ * You can construct an instance of {@code SetOfIntegerSyntax} by giving it in + * "string form." The string consists of zero or more comma-separated integer + * groups. Each integer group consists of either one integer, two integers + * separated by a hyphen ({@code -}), or two integers separated by a colon + * ({@code :}). Each integer consists of one or more decimal digits ({@code 0} + * through {@code 9}). Whitespace characters cannot appear within an integer but + * are otherwise ignored. For example: {@code ""}, {@code "1"}, {@code "5-10"}, + * {@code "1:2, 4"}. + *
+ * You can also construct an instance of {@code SetOfIntegerSyntax} by giving it + * in "array form." Array form consists of an array of zero or more integer + * groups where each integer group is a length-1 or length-2 array of + * {@code int}s; for example, {@code int[0][]}, {@code int[][]{{1}}}, + * {@code int[][]{{5,10}}}, {@code int[][]{{1,2},{4}}}. + *
* In both string form and array form, each successive integer group gives a * range of integers to be included in the set. The first integer in each group * gives the lower bound of the range; the second integer in each group gives * the upper bound of the range; if there is only one integer in the group, the * upper bound is the same as the lower bound. If the upper bound is less than - * the lower bound, it denotes a null range (no values). If the upper bound is - * equal to the lower bound, it denotes a range consisting of a single value. If - * the upper bound is greater than the lower bound, it denotes a range + * the lower bound, it denotes a {@code null} range (no values). If the upper + * bound is equal to the lower bound, it denotes a range consisting of a single + * value. If the upper bound is greater than the lower bound, it denotes a range * consisting of more than one value. The ranges may appear in any order and are * allowed to overlap. The union of all the ranges gives the set's contents. - * Once a SetOfIntegerSyntax instance is constructed, its value is immutable. - *
- * The SetOfIntegerSyntax object's value is actually stored in "canonical - * array form." This is the same as array form, except there are no null ranges; - * the members of the set are represented in as few ranges as possible (i.e., - * overlapping ranges are coalesced); the ranges appear in ascending order; and - * each range is always represented as a length-two array of {@code int}s - * in the form {lower bound, upper bound}. An empty set is represented as a - * zero-length array. - *
- * Class SetOfIntegerSyntax has operations to return the set's members in - * canonical array form, to test whether a given integer is a member of the + * Once a {@code SetOfIntegerSyntax} instance is constructed, its value is + * immutable. + *
+ * The {@code SetOfIntegerSyntax} object's value is actually stored in + * "canonical array form." This is the same as array form, except there + * are no {@code null} ranges; the members of the set are represented in as few + * ranges as possible (i.e., overlapping ranges are coalesced); the ranges + * appear in ascending order; and each range is always represented as a + * length-two array of {@code int}s in the form {lower bound, upper bound}. An + * empty set is represented as a zero-length array. + *
+ * Class {@code SetOfIntegerSyntax} has operations to return the set's members
+ * in canonical array form, to test whether a given integer is a member of the
* set, and to iterate through the members of the set.
*
- * @author David Mendenhall
- * @author Alan Kaminsky
+ * @author David Mendenhall
+ * @author Alan Kaminsky
*/
public abstract class SetOfIntegerSyntax implements Serializable, Cloneable {
+ /**
+ * Use serialVersionUID from JDK 1.4 for interoperability.
+ */
private static final long serialVersionUID = 3666874174847632203L;
/**
* This set's members in canonical array form.
+ *
* @serial
*/
private int[][] members;
-
/**
- * Construct a new set-of-integer attribute with the given members in
- * string form.
+ * Construct a new set-of-integer attribute with the given members in string
+ * form.
*
- * @param members Set members in string form. If null, an empty set is
- * constructed.
- *
- * @exception IllegalArgumentException
- * (Unchecked exception) Thrown if {@code members} does not
- * obey the proper syntax.
+ * @param members set members in string form. If {@code null}, an empty set
+ * is constructed.
+ * @throws IllegalArgumentException if {@code members} does not obey the
+ * proper syntax
*/
protected SetOfIntegerSyntax(String members) {
this.members = parse (members);
@@ -106,6 +106,9 @@
/**
* Parse the given string, returning canonical array form.
+ *
+ * @param members the string
+ * @return the canonical array form
*/
private static int[][] parse(String members) {
// Create vector to hold int[] elements, each element being one range
@@ -238,8 +241,8 @@
}
/**
- * Accumulate the given range (lb .. ub) into the canonical array form
- * into the given vector of int[] objects.
+ * Accumulate the given range (lb .. ub) into the canonical array form into
+ * the given vector of int[] objects.
*/
private static void accumulate(Vector
+ *
*
- * @return The smallest integer in this set-of-integer attribute that is
- * greater than {@code x}, or {@code -1} if no integer in
- * this set-of-integer attribute is greater than {@code x}.
+ * @param x the Integer value
+ * @return the smallest integer in this set-of-integer attribute that is
+ * greater than {@code x}, or {@code -1} if no integer in this
+ * set-of-integer attribute is greater than {@code x}.
*/
public int next(int x) {
// Do a linear search to find the range that contains x, if any.
@@ -478,20 +469,16 @@
* Returns whether this set-of-integer attribute is equivalent to the passed
* in object. To be equivalent, all of the following conditions must be
* true:
- *
* SetOfIntegerSyntax attribute = . . .;
* int i = -1;
* while ((i = attribute.next (i)) != -1)
* {
* foo (i);
* }
- *
- *
- * @param x Integer value.
+ *
- *
- *
- * @param object Object to compare to.
- *
- * @return True if {@code object} is equivalent to this
- * set-of-integer attribute, false otherwise.
+ *
+ *
+ *
+ * @param object {@code Object} to compare to
+ * @return {@code true} if {@code object} is equivalent to this
+ * set-of-integer attribute, {@code false} otherwise
*/
public boolean equals(Object object) {
if (object != null && object instanceof SetOfIntegerSyntax) {
@@ -533,9 +520,9 @@
* Returns a string value corresponding to this set-of-integer attribute.
* The string value is a zero-length string if this set is empty. Otherwise,
* the string value is a comma-separated list of the ranges in the canonical
- * array form, where each range is represented as "i"
if
+ * array form, where each range is represented as "i"
if
* the lower bound equals the upper bound or
- * "i-j"
otherwise.
+ * "i-j"
otherwise.
*/
public String toString() {
StringBuilder result = new StringBuilder();
@@ -552,5 +539,4 @@
}
return result.toString();
}
-
}