Module java.naming

Class 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
参见:
  • Constructor Details

    • BasicAttributes

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

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

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

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

    • clone

      public Object clone()
      从类中复制的描述: Object
      创建并返回此对象的副本。"副本"的确切含义可能取决于对象的类。一般意图是,对于任何对象x,表达式:
       x.clone() != x
      将为true,并且表达式:
       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
      返回:
      如果忽略大小写,则为true;否则为false。
    • 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 要添加的属性的值。如果为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的大小写,并且包含相同的属性,则它们相等。通过Object.equals()检查此BasicAttributes中的每个Attribute的相等性,该方法可能已被Attribute的实现重写。如果子类重写了equals(),则应该同时重写hashCode(),以便相等的两个Attributes实例具有相同的哈希码。
      覆盖:
      equals 在类 Object
      参数:
      obj - 可能为null 要与之比较的对象。
      返回:
      如果obj等于此BasicAttributes,则为true。
      另请参阅:
    • hashCode

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

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

      覆盖:
      hashCode 在类 Object
      返回:
      代表此BasicAttributes实例的哈希码的int值。
      另请参阅: