Module java.desktop

Class SetOfIntegerSyntax

java.lang.Object
javax.print.attribute.SetOfIntegerSyntax
所有已实现的接口:
Serializable, Cloneable
直接已知的子类:
CopiesSupported, JobImpressionsSupported, JobKOctetsSupported, JobMediaSheetsSupported, NumberUpSupported, PageRanges

public abstract class SetOfIntegerSyntax extends Object implements Serializable, Cloneable
SetOfIntegerSyntax是一个抽象基类,提供值为非负整数集的所有属性的通用实现。这包括值为单个整数范围的属性和值为整数范围集的属性。

您可以通过以"字符串形式"给出来构造SetOfIntegerSyntax的实例。字符串由零个或多个逗号分隔的整数组成。每个整数组由一个整数、两个由连字符(-)分隔的整数或两个由冒号(:)分隔的整数组成。每个整数由一个或多个十进制数字(09)组成。整数内部不能包含空格字符,但会被忽略。例如:"""1""5-10""1:2, 4"

您也可以通过以"数组形式"给出来构造SetOfIntegerSyntax的实例。数组形式由零个或多个整数组成,其中每个整数组是一个长度为1或长度为2的int数组;例如,int[0][]int[][]{{1}}int[][]{{5,10}}int[][]{{1,2},{4}}

在字符串形式和数组形式中,每个连续的整数组表示要包含在集合中的整数范围。每个组中的第一个整数表示范围的下限;每个组中的第二个整数表示范围的上限;如果组中只有一个整数,则上限与下限相同。如果上限小于下限,则表示一个null范围(无值)。如果上限等于下限,则表示一个由单个值组成的范围。如果上限大于下限,则表示由多个值组成的范围。范围可以以任何顺序出现,并且允许重叠。所有范围的并集给出了集合的内容。一旦构造了SetOfIntegerSyntax实例,其值就是不可变的。

SetOfIntegerSyntax对象的值实际上存储在"规范数组形式"中。这与数组形式相同,只是没有null范围;集合的成员以尽可能少的范围表示(即,重叠的范围被合并);范围按升序排列;每个范围始终以int数组的长度为2的形式{下限,上限}表示。空集表示为零长度数组。

SetOfIntegerSyntax具有操作,以规范数组形式返回集合的成员,测试给定整数是否是集合的成员,并遍历集合的成员。

参见:
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    SetOfIntegerSyntax(int member)
    构造一个包含单个整数的整数集属性。
    protected
    SetOfIntegerSyntax(int[][] members)
    用数组形式构造一个包含给定成员的新整数集属性。
    protected
    SetOfIntegerSyntax(int lowerBound, int upperBound)
    构造一个包含单个整数范围的新整数集属性。
    protected
    用字符串形式构造一个包含给定成员的新整数集属性。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    contains(int x)
    确定此整数集属性是否包含给定值。
    boolean
    contains(IntegerSyntax attribute)
    确定此整数集属性是否包含给定整数属性的值。
    boolean
    equals(Object object)
    返回此整数集属性是否等效于传入的对象。
    int[][]
    获取此整数集属性的规范数组形式的成员。
    int
    返回此整数集属性的哈希码值。
    int
    next(int x)
    确定此整数集属性中大于给定值的最小整数。
    返回与此整数集属性对应的字符串值。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • SetOfIntegerSyntax

      protected SetOfIntegerSyntax(String members)
      用字符串形式构造一个包含给定成员的新整数集属性。
      参数:
      members - 以字符串形式表示的集合成员。如果为null,则构造一个空集。
      抛出:
      IllegalArgumentException - 如果members不符合正确的语法
    • SetOfIntegerSyntax

      protected SetOfIntegerSyntax(int[][] members)
      用数组形式构造一个包含给定成员的新整数集属性。
      参数:
      members - 以数组形式表示的集合成员。如果为null,则构造一个空集。
      抛出:
      NullPointerException - 如果members的任何元素为null
      IllegalArgumentException - 如果members的任何元素不是长度为一或长度为二的数组,或者members中的任何非null范围的下限小于零
    • SetOfIntegerSyntax

      protected SetOfIntegerSyntax(int member)
      构造一个包含单个整数的新整数集属性。
      参数:
      member - 集合成员
      抛出:
      IllegalArgumentException - 如果member为负数
    • SetOfIntegerSyntax

      protected SetOfIntegerSyntax(int lowerBound, int upperBound)
      构造一个包含单个整数范围的新整数集属性。如果下限大于上限(空范围),则构造一个空集。
      参数:
      lowerBound - 范围的下限
      upperBound - 范围的上限
      抛出:
      IllegalArgumentException - 如果范围为非nulllowerBound小于零
  • Method Details

    • getMembers

      public int[][] getMembers()
      获取此整数集属性的规范数组形式的成员。返回的数组是"安全的";客户端可以更改它而不会影响此整数集属性。
      返回:
      此整数集属性的规范数组形式的成员
    • contains

      public boolean contains(int x)
      确定此整数集属性是否包含给定值。
      参数:
      x - 整数值
      返回:
      如果此整数集属性包含值x,则返回true,否则返回false
    • contains

      public boolean contains(IntegerSyntax attribute)
      确定此整数集属性是否包含给定整数属性的值。
      参数:
      attribute - 整数属性
      返回:
      如果此整数集属性包含attribute的值,则返回true,否则返回false
    • next

      public int next(int x)
      确定此整数集属性中大于给定值的最小整数。如果此整数集属性中没有大于给定值的整数,则返回-1。(由于整数集属性只能包含非负值,因此-1永远不会出现在集合中。)您可以使用next()方法按升序遍历整数集属性中的整数值,如下所示:
           SetOfIntegerSyntax attribute = . . .;
           int i = -1;
           while ((i = attribute.next (i)) != -1)
               {
               foo (i);
               }
       
      参数:
      x - 整数值
      返回:
      此整数集属性中大于x的最小整数,如果此整数集属性中没有大于x的整数,则返回-1
    • equals

      public boolean equals(Object object)
      返回此整数集属性是否等效于传入的对象。要等效,必须满足以下所有条件:
      1. object不为null
      2. objectSetOfIntegerSyntax类的实例。
      3. 此整数集属性的成员和object的成员相同。
      覆盖:
      equals 在类 Object
      参数:
      object - 要比较的Object
      返回:
      如果object等效于此整数集属性,则返回true,否则返回false
      参见:
    • hashCode

      public int hashCode()
      返回此整数集属性的哈希码值。哈希码是规范数组形式中范围的下限和上限之和,或空集的情况下为0。
      覆盖:
      hashCode 在类 Object
      返回:
      该对象的哈希码值。
      参见:
    • toString

      public String toString()
      返回与此整数集属性对应的字符串值。如果此集合为空,则字符串值为零长度字符串。否则,字符串值是以规范数组形式的逗号分隔范围列表,其中每个范围表示为"i",如果下限等于上限,否则表示为"i-j"
      覆盖:
      toString 在类 Object
      返回:
      对象的字符串表示形式。