Module java.desktop

Class PrinterStateReasons

所有已实现的接口:
Serializable, Cloneable, Map<PrinterStateReason,Severity>, Attribute, PrintServiceAttribute

public final class PrinterStateReasons extends HashMap<PrinterStateReason,Severity> implements PrintServiceAttribute
PrinterStateReasons是一个打印属性类,一个枚举值集,提供有关打印机当前状态的附加信息,即增加打印机的PrinterState属性值的信息。

PrinterStateReason的实例不会直接出现在打印服务的属性集中。相反,一个PrinterStateReasons属性会出现在打印服务的属性集中。PrinterStateReasons属性包含零个、一个或多个与打印服务状态相关的PrinterStateReason对象,每个PrinterStateReason对象与REPORT(最不严重)、WARNINGERROR(最严重)的Severity级别相关联。当打印机的相应条件变为真时,打印机会将一个PrinterStateReason对象添加到打印服务的PrinterStateReasons属性中,并且当相应条件再次变为假时,打印机会再次删除PrinterStateReason对象,而不管打印服务的整体PrinterState是否也发生了变化。

PrinterStateReasons从类java.util.HashMap继承其实现。映射中的每个条目由一个PrinterStateReason对象(键)映射到一个Severity对象(值)组成:

与大多数一旦构建就不可变的打印属性不同,类PrinterStateReasons设计为可变的;您可以向现有的PrinterStateReasons对象添加PrinterStateReason对象,然后再次删除它们。但是,像类java.util.HashMap一样,类PrinterStateReasons不是线程安全的。如果一个PrinterStateReasons对象将被多个线程使用,请确保同步其操作(例如,使用从类java.util.Collections获得的同步映射视图)。

IPP兼容性: 由每个单独的PrinterStateReason对象和相关的Severity对象的toString()方法返回的字符串值,用连字符("-")连接在一起,给出IPP关键字值。由getName()返回的类别名称给出IPP属性名称。

参见:
  • Constructor Details

    • PrinterStateReasons

      public PrinterStateReasons()
      构造一个新的、空的打印机状态原因属性;底层哈希映射具有默认的初始容量和负载因子。
    • PrinterStateReasons

      public PrinterStateReasons(int initialCapacity)
      构造一个新的、空的打印机状态原因属性;底层哈希映射具有给定的初始容量和默认的负载因子。
      参数:
      initialCapacity - 初始容量
      抛出:
      IllegalArgumentException - 如果初始容量为负
    • PrinterStateReasons

      public PrinterStateReasons(int initialCapacity, float loadFactor)
      构造一个新的、空的打印机状态原因属性;底层哈希映射具有给定的初始容量和负载因子。
      参数:
      initialCapacity - 初始容量
      loadFactor - 负载因子
      抛出:
      IllegalArgumentException - 如果初始容量为负
    • PrinterStateReasons

      public PrinterStateReasons(Map<PrinterStateReason,Severity> map)
      构造一个包含与给定映射相同的PrinterStateReason-Severity映射的新的打印机状态原因属性。底层哈希映射的初始容量和负载因子与超类构造函数HashMap(Map)中指定的一样。
      参数:
      map - 要复制的映射
      抛出:
      NullPointerException - 如果mapnull或者map中的任何键或值为null
      ClassCastException - 如果map中的任何键不是类PrinterStateReason的实例,或者map中的任何值不是类Severity的实例
  • Method Details

    • put

      public Severity put(PrinterStateReason reason, Severity severity)
      将给定的打印机状态原因添加到此打印机状态原因属性中,并将其与给定的严重级别关联。如果此打印机状态原因属性先前包含给定打印机状态原因的映射,则旧值将被替换。
      指定者:
      put 在接口 Map<PrinterStateReason,Severity>
      覆盖:
      put 在类 HashMap<PrinterStateReason,Severity>
      参数:
      reason - 打印机状态原因。这必须是类PrinterStateReason的实例
      severity - 打印机状态原因的严重级别。这必须是类Severity的实例
      返回:
      与给定打印机状态原因关联的先前严重级别,如果给定打印机状态原因不存在,则返回null
      抛出:
      NullPointerException - 如果reasonnullseveritynull
      ClassCastException - 如果reason不是类PrinterStateReason的实例,或者severity不是类Severity的实例
      自:
      1.5
    • getCategory

      public final Class<? extends Attribute> getCategory()
      获取用作此打印属性值的“类别”的打印属性类。

      对于类PrinterStateReasons,类别是PrinterStateReasons本身。

      指定者:
      getCategory 在接口 Attribute
      返回值:
      打印属性类别(category),是 java.lang.Class 类的实例
    • getName

      public final String getName()
      获取此属性值所属类别的名称。

      对于类 PrinterStateReasons,类别名称为 "printer-state-reasons"

      指定者:
      getName 在接口 Attribute
      返回值:
      属性类别名称
    • printerStateReasonSet

      public Set<PrinterStateReason> printerStateReasonSet(Severity severity)
      获取在给定严重级别下此 PrinterStateReasons 属性中的各个打印机状态原因属性的不可修改视图。集合视图中的每个元素都是一个 PrinterStateReason 对象。集合视图中的唯一元素是映射到给定严重级别值的 PrinterStateReason 对象。集合视图由此 PrinterStateReasons 属性支持,因此对此 PrinterStateReasons 属性的更改会反映在集合视图中。集合视图不支持元素插入或移除。集合视图的迭代器不支持元素移除。
      参数:
      severity - 严重级别
      返回值:
      在给定 Severity 级别下的各个 PrinterStateReason 属性的集合视图
      抛出:
      NullPointerException - 如果 severitynull