模块 java.naming

类 BasicAttributes

java.lang.Object
javax.naming.directory.BasicAttributes
所有已实现的接口:
Serializable , Cloneable , Attributes

public class BasicAttributes extends Object implements Attributes
此类提供了 Attributes 接口的基本实现。

BasicAttributes 区分大小写或不区分大小写(忽略大小写)。此属性在调用 BasicAttributes 构造方法时确定。在不区分大小写的 BasicAttributes 中,在搜索属性或添加属性时忽略其属性标识符的大小写。在区分大小写的 BasicAttributes 中,大小写很重要。

当 BasicAttributes 类需要创建一个 Attribute 时,它使用 BasicAttribute。 BasicAttribute 没有其他依赖项。

请注意,对 BasicAttributes 的更新(例如添加或删除属性)不会影响目录中的相应表示。只能使用 DirContext 接口中的操作来更新目录。

BasicAttributes 实例与并发多线程访问不同步。尝试访问和修改单个 BasicAttributes 实例的多个线程应该锁定该对象。

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

    • BasicAttributes

      public BasicAttributes()
      构造一个新的属性实例。在随后检索或添加属性时,属性标识符的字符大小写很重要。
    • BasicAttributes

      public BasicAttributes(boolean ignoreCase)
      构造一个新的属性实例。如果ignoreCase为真,则忽略属性标识符的字符大小写;否则情况很重要。
      参数:
      ignoreCase - true 表示此属性集在检索或添加属性时将忽略其属性标识符的大小写; false 表示尊重大小写。
    • BasicAttributes

      public BasicAttributes(String  attrID, Object  val)
      构造具有一个属性的 Attributes 的新实例。将 attrID 和 val 指定的属性添加到新创建的属性中。在随后检索或添加属性时,属性标识符的字符大小写很重要。
      参数:
      attrID - 非空 要添加的属性的 ID。
      val - 要添加的属性值。如果为空,则将空值添加到属性。
    • BasicAttributes

      public BasicAttributes(String  attrID, Object  val, boolean ignoreCase)
      构造具有一个属性的 Attributes 的新实例。将 attrID 和 val 指定的属性添加到新创建的属性中。如果ignoreCase为真,则忽略属性标识符的字符大小写;否则情况很重要。
      参数:
      attrID - 非空 要添加的属性的 ID。如果此属性集忽略其属性 ID 的字符大小写,则忽略 attrID 的大小写。
      val - 要添加的属性值。如果为空,则将空值添加到属性。
      ignoreCase - true 表示此属性集在检索或添加属性时将忽略其属性标识符的大小写; false 表示尊重大小写。
  • 方法详情

    • clone

      public Object  clone()
      从类复制的描述:Object
      创建并返回此对象的副本。 “复制”的确切含义可能取决于对象的类。一般意图是,对于任何对象 x ,表达式:
       x.clone() != x
      将是真实的,并且表达式:
       x.clone().getClass() == x.getClass()
      将是 true ,但这不是绝对要求。虽然通常情况是:
       x.clone().equals(x)
      将是 true ,这不是绝对要求。

      按照惯例,返回的对象应该通过调用 super.clone 获得。如果一个类及其所有超类(Object 除外)都遵守此约定,那么 x.clone().getClass() == x.getClass() 就是这种情况。

      按照惯例,此方法返回的对象应该独立于此对象(正在被克隆)。为了实现这种独立性,可能需要在返回之前修改super.clone返回的对象的一个或多个字段。通常,这意味着复制包含被克隆对象的内部“深层结构”的任何可变对象,并将对这些对象的引用替换为对副本的引用。如果一个类只包含基本字段或对不可变对象的引用,那么通常情况下super.clone 返回的对象中的任何字段都不需要修改。

      指定者:
      clone 在接口 Attributes
      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见:
    • isCaseIgnored

      public boolean isCaseIgnored()
      从接口 Attributes 复制的描述
      确定属性集在检索或添加属性时是否忽略属性标识符的大小写。
      指定者:
      isCaseIgnored 在接口 Attributes
      返回:
      如果忽略大小写则为真;否则为假。
    • size

      public int size()
      从接口 Attributes 复制的描述
      检索属性集中的属性数。
      指定者:
      size 在接口 Attributes
      返回:
      此属性集中属性的非负数。
    • get

      public Attribute  get(String  attrID)
      从接口 Attributes 复制的描述
      从属性集中检索具有给定属性 id 的属性。
      指定者:
      get 在接口 Attributes
      参数:
      attrID - 要检索的属性的非空 ID。如果此属性集忽略其属性 ID 的字符大小写,则忽略 attrID 的大小写。
      返回:
      由 attrID 标识的属性;如果找不到则为 null。
      参见:
    • getAll

      public NamingEnumeration <Attribute > getAll()
      从接口 Attributes 复制的描述
      检索属性集中属性的枚举。更新此属性集对此枚举的影响未定义。
      指定者:
      getAll 在接口 Attributes
      返回:
      此属性集中属性的非空枚举。枚举的每个元素都属于 Attribute 类。如果属性集有零个属性,则返回一个空枚举。
    • getIDs

      public NamingEnumeration <String > getIDs()
      从接口 Attributes 复制的描述
      检索属性集中属性 ID 的枚举。更新此属性集对此枚举的影响未定义。
      指定者:
      getIDs 在接口 Attributes
      返回:
      此属性集中属性 ID 的非空枚举。枚举的每个元素都属于 String 类。如果属性集有零个属性,则返回一个空枚举。
    • put

      public Attribute  put(String  attrID, Object  val)
      从接口 Attributes 复制的描述
      将新属性添加到属性集中。
      指定者:
      put 在接口 Attributes
      参数:
      attrID - 非空 要添加的属性的 ID。如果属性集忽略其属性 ID 的字符大小写,则忽略 attrID 的大小写。
      val - 要添加的属性的可能空值。如果为 null,则该属性没有任何值。
      返回:
      在此属性集中先前具有 attrID 的属性;如果不存在此类属性,则为 null。
      参见:
    • put

      public Attribute  put(Attribute  attr)
      从接口 Attributes 复制的描述
      将新属性添加到属性集中。
      指定者:
      put 在接口 Attributes
      参数:
      attr - 要添加的非空属性。如果属性集忽略其属性 id 的字符大小写,则忽略 attr 标识符的大小写。
      返回:
      与此属性集中先前的 attr 具有相同 ID 的属性;如果不存在此类属性,则为 null。
      参见:
    • remove

      public Attribute  remove(String  attrID)
      从接口 Attributes 复制的描述
      从属性集中删除属性 ID 为“attrID”的属性。如果该属性不存在,则忽略。
      指定者:
      remove 在接口 Attributes
      参数:
      attrID - 要删除的属性的非空 ID。如果属性集忽略其属性 ID 的字符大小写,则忽略 attrID 的大小写。
      返回:
      与属性集中先前的 attrID 具有相同 ID 的属性;如果不存在此类属性,则为 null。
    • toString

      public String  toString()
      生成此属性集的字符串表示形式。该字符串由每个属性标识符和每个属性的内容组成。此字符串的内容对调试很有用,并不意味着以编程方式进行解释。
      重写:
      toString 在类 Object
      返回:
      列出此属性集内容的非空字符串。
    • equals

      public boolean equals(Object  obj)
      确定此 BasicAttributes 是否等于另一个 Attributes 如果两个 Attributes 都是 Attributes 的实例,则它们相等,以相同的方式处理属性 ID 的情况,并且包含相同的属性。此 BasicAttributes 中的每个 Attribute 使用 Object.equals() 检查是否相等,这可能已被 Attribute 的实现覆盖)。如果一个子类覆盖了 equals() ,它也应该覆盖 hashCode() 以便两个相同的 Attributes 实例具有相同的哈希码。
      重写:
      equals 在类 Object
      参数:
      obj - 要比较的可能为空的对象。
      返回:
      true 如果 obj 等于此 BasicAttributes。
      参见:
    • hashCode

      public int hashCode()
      计算此 BasicAttributes 的哈希码。

      哈希码是通过添加此对象的属性的哈希码来计算的。如果此 BasicAttributes 忽略其属性 ID 的大小写,则会将一个添加到哈希代码中。如果一个子类覆盖了 hashCode() ,它也应该覆盖 equals() 以便两个相同的 Attributes 实例具有相同的哈希码。

      重写:
      hashCode 在类 Object
      返回:
      表示此 BasicAttributes 实例的哈希码的 int。
      参见: