- 所有已实现的接口:
-
Serializable
,Cloneable
,Attributes
BasicAttributes可以是区分大小写的,也可以是不区分大小写的(忽略大小写)。此属性在调用BasicAttributes构造函数时确定。在不区分大小写的BasicAttributes中,在搜索属性或添加属性时忽略其属性标识符的大小写。在区分大小写的BasicAttributes中,大小写是重要的。
当BasicAttributes类需要创建一个Attribute时,它使用BasicAttribute。对BasicAttribute没有其他依赖。
请注意,对BasicAttributes的更新(例如添加或删除属性)不会影响目录中的相应表示。只能使用DirContext接口中的操作来影响目录的更新。
BasicAttributes实例不会针对并发多线程访问进行同步。尝试访问和修改单个BasicAttributes实例的多个线程应锁定该对象。
- 自:
- 1.3
- 参见:
-
Constructor Summary
ConstructorDescription构造一个新的Attributes实例。BasicAttributes
(boolean ignoreCase) 构造一个新的Attributes实例。BasicAttributes
(String attrID, Object val) 构造一个带有一个属性的Attributes实例。BasicAttributes
(String attrID, Object val, boolean ignoreCase) 构造一个带有一个属性的Attributes实例。 -
Method Summary
Modifier and TypeMethodDescriptionclone()
创建并返回此对象的副本。boolean
确定此BasicAttributes
是否等于另一个Attributes
。如果两个Attributes
实例均为Attributes
的实例,以相同方式处理属性ID的大小写,并且包含相同的属性,则它们是相等的。从属性集中检索具有给定属性ID的属性。getAll()
检索属性集中属性的枚举。getIDs()
检索属性集中属性的ID的枚举。int
hashCode()
计算此BasicAttributes的哈希码。boolean
确定属性集在检索或添加属性时是否忽略属性标识符的大小写。向属性集中添加新属性。向属性集中添加新属性。从属性集中删除具有属性ID“attrID”的属性。int
size()
检索属性集中的属性数量。toString()
生成此属性集的字符串表示形式。
-
Constructor Details
-
BasicAttributes
public BasicAttributes()构造一个新的Attributes实例。在随后检索或添加属性时,属性标识符的字符大小写是重要的。 -
BasicAttributes
public BasicAttributes(boolean ignoreCase) 构造一个新的Attributes实例。如果ignoreCase
为true,则在随后检索或添加属性时,属性标识符的字符大小写将被忽略;否则大小写是重要的。- 参数:
-
ignoreCase
- true表示此属性集在检索或添加属性时将忽略其属性标识符的大小写;false表示大小写受到尊重。
-
BasicAttributes
构造一个带有一个属性的Attributes实例。由attrID和val指定的属性将添加到新创建的属性中。在随后检索或添加属性时,属性标识符的字符大小写是重要的。- 参数:
-
attrID
- 非空 要添加的属性的ID。 -
val
- 要添加的属性的值。如果为null,则将null值添加到属性中。
-
BasicAttributes
构造一个带有一个属性的Attributes实例。由attrID和val指定的属性将添加到新创建的属性中。如果ignoreCase
为true,则在随后检索或添加属性时,属性标识符的字符大小写将被忽略;否则大小写是重要的。- 参数:
-
attrID
- 非空 要添加的属性的ID。如果此属性集忽略其属性ID的字符大小写,则将忽略attrID的大小写。 -
val
- 要添加的属性的值。如果为null,则将null值添加到属性中。 -
ignoreCase
- true表示此属性集在检索或添加属性时将忽略其属性标识符的大小写;false表示大小写受到尊重。
-
-
Method Details
-
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
中 - 返回:
- 如果忽略大小写,则为true;否则为false。
-
size
public int size()从接口中复制的描述:Attributes
检索属性集中的属性数量。- 指定者:
-
size
在接口Attributes
中 - 返回:
- 此属性集中属性的非负数。
-
get
从接口中复制的描述:Attributes
从属性集中检索具有给定属性ID的属性。- 指定者:
-
get
在接口Attributes
中 - 参数:
-
attrID
- 要检索的属性的非空ID。如果此属性集忽略其属性ID的字符大小写,则将忽略attrID的大小写。 - 返回:
- 由attrID标识的属性;如果未找到,则为null。
- 参见:
-
getAll
从接口中复制的描述:Attributes
检索属性集中属性的枚举。对此枚举的属性集更新的影响是未定义的。- 指定者:
-
getAll
在接口Attributes
- 返回:
-
属性集中属性的非空枚举。枚举的每个元素都是
Attribute
类。如果属性集没有属性,则返回一个空枚举。
-
getIDs
从接口复制的描述:Attributes
检索属性集中属性的ID的枚举。对此枚举的属性集更新的影响是未定义的。- 指定者:
-
getIDs
在接口Attributes
- 返回:
- 属性集中属性ID的非空枚举。枚举的每个元素都是String类。如果属性集没有属性,则返回一个空枚举。
-
put
从接口复制的描述:Attributes
向属性集中添加新属性。- 指定者:
-
put
在接口Attributes
- 参数:
-
attrID
- 非空 要添加的属性的ID。如果属性集忽略其属性ID的字符大小写,则忽略attrID的大小写。 -
val
- 可能为null 要添加的属性的值。如果为null,则属性没有任何值。 - 返回:
- 先前在此属性集中的具有attrID的属性;如果不存在这样的属性,则返回null。
- 另请参阅:
-
put
从接口复制的描述:Attributes
向属性集中添加新属性。- 指定者:
-
put
在接口Attributes
- 参数:
-
attr
- 非空 要添加的属性。如果属性集忽略其属性ID的字符大小写,则忽略attr的标识符的大小写。 - 返回:
- 先前在此属性集中与attr具有相同ID的属性;如果不存在这样的属性,则返回null。
- 另请参阅:
-
remove
从接口复制的描述:Attributes
从属性集中删除具有属性ID“attrID”的属性。如果属性不存在,则忽略。- 指定者:
-
remove
在接口Attributes
- 参数:
-
attrID
- 要删除的属性的非空ID。如果属性集忽略其属性ID的字符大小写,则忽略attrID的大小写。 - 返回:
- 先前在属性集中具有与attrID相同ID的属性;如果不存在这样的属性,则返回null。
-
toString
生成此属性集的字符串表示形式。字符串由每个属性标识符和每个属性的内容组成。此字符串的内容对于调试很有用,不适合以编程方式解释。 -
equals
确定此BasicAttributes
是否等于另一个Attributes
。如果两个Attributes
都是Attributes
的实例,以相同方式处理属性ID的大小写,并且包含相同的属性,则它们相等。通过Object.equals()
检查此BasicAttributes
中的每个Attribute
的相等性,该方法可能已被Attribute
的实现重写。如果子类重写了equals()
,则应该同时重写hashCode()
,以便相等的两个Attributes
实例具有相同的哈希码。 -
hashCode
public int hashCode()计算此BasicAttributes的哈希码。哈希码是通过添加此对象的属性的哈希码来计算的。如果此BasicAttributes忽略其属性ID的大小写,则将一个添加到哈希码中。如果子类重写了
hashCode()
,则应该同时重写equals()
,以便相等的两个Attributes
实例具有相同的哈希码。
-