模块 java.desktop

类 PrinterStateReasons

java.lang.Object
java.util.AbstractMap <K,V>
java.util.HashMap <PrinterStateReason ,Severity >
javax.print.attribute.standard.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 对象都与 Severity 级别 REPORT(最不严重)、WARNINGERROR(最严重)相关联。当打印机的相应条件变为真时,打印机向打印服务的PrinterStateReasons属性添加一个PrinterStateReason 对象,当相应条件变为假时,打印机再次删除PrinterStateReason 对象,而不管打印服务的整体PrinterState 是否也发生了变化。

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

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

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

参见:
  • 构造方法详细信息

    • PrinterStateReasons

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

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

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

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

    • 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
      返回:
      打印属性类(类别),类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