java.lang.Object javax.naming.directory.BasicAttributes
public class BasicAttributes
此类提供 Attributes 接口的基本实现。
BasicAttributes 或者区分大小写或者不区分大小写(忽略大小写)。此属性在调用 BasicAttributes 构造方法时确定。在不区分大小写的 BasicAttributes 中,搜索属性或添加属性时将忽略其属性标识符的大小写。在区分大小写的 BasicAttributes 中,大小写有意义。
BasicAttributes 类需要创建 Attribute 时使用 BasicAttribute。对 BasicAttribute 没有其他依赖性。
注意,更新 BasicAttributes(如添加或移除属性)对目录中的相应表示形式没有影响。只有使用 DirContext 接口中的操作才能实现对目录的更新。
BasicAttributes 实例与并发多线程访问不同步。试图访问和修改单个 BasicAttributes 实例的多个线程应该锁定对象。
DirContext.getAttributes(javax.naming.Name)
,
DirContext.modifyAttributes(javax.naming.Name, int, javax.naming.directory.Attributes)
,
DirContext.bind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes)
,
DirContext.rebind(javax.naming.Name, java.lang.Object, javax.naming.directory.Attributes)
,
DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)
,
DirContext.search(javax.naming.Name, javax.naming.directory.Attributes, java.lang.String[])
,
序列化表格
构造方法摘要 | |
---|---|
BasicAttributes() 构造一个新的 Attributes 实例。 |
|
BasicAttributes(boolean ignoreCase) 构造一个新的 Attributes 实例。 |
|
BasicAttributes(String attrID, Object val) 构造带有一个属性的新 Attributes 实例。 |
|
BasicAttributes(String attrID, Object val, boolean ignoreCase) 构造带有一个属性的新 Attributes 实例。 |
方法摘要 | |
---|---|
Object |
clone() 创建并返回此对象的一个副本。 |
boolean |
equals(Object obj) 确定此 BasicAttributes 是否等于另一个 Attributes。 |
Attribute |
get(String attrID) 利用属性集中的给定属性 id 检索属性。 |
NamingEnumeration<Attribute> |
getAll() 检索属性集中属性的枚举。 |
NamingEnumeration<String> |
getIDs() 检索属性集中属性的 id 的枚举。 |
int |
hashCode() 计算此 BasicAttributes 的哈希码。 |
boolean |
isCaseIgnored() 确定在检索或添加属性时属性集是否忽略属性标识符的大小写。 |
Attribute |
put(Attribute attr) 向属性集中添加新属性。 |
Attribute |
put(String attrID, Object val) 向属性集中添加新属性。 |
Attribute |
remove(String attrID) 从属性集中移除属性 id 为 'attrID' 的属性。 |
int |
size() 在属性集中检索属性数。 |
String |
toString() 生成此属性集的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public BasicAttributes()
public BasicAttributes(boolean ignoreCase)
ignoreCase
为 true,则忽略属性标识符的字符大小写;否则大小写有意义。
ignoreCase
- 为 true 表示在检索或添加属性时此属性集将忽略其属性标识符的大小写;为 false 表示要考虑大小写。
public BasicAttributes(String attrID, Object val)
attrID
- 要添加的非 null 属性 id。
val
- 要添加的属性的值。如果为 null,则将 null 值添加到属性中。
public BasicAttributes(String attrID, Object val, boolean ignoreCase)
ignoreCase
为 true,则忽略属性标识符的字符大小写;否则大小写有意义。
attrID
- 要添加的属性的非 null id。如果此属性集忽略其属性 id 的字符大小写,则忽略 attrID 的大小写。
val
- 要添加的属性的值。如果为 null,则将 null 值添加到属性中。
ignoreCase
- 为 true 表示在检索或添加属性时此属性集将忽略其属性标识符的大小写;为 false 表示要考虑大小写。
方法详细信息 |
---|
public Object clone()
Object
复制的描述
为 true,表达式:x.clone() != x
也为 true,但这些并非必须要满足的要求。一般情况下:x.clone().getClass() == x.getClass()
为 true,但这并非必须要满足的要求。x.clone().equals(x)
按照惯例,返回的对象应该通过调用 super.clone 获得。如果一个类及其所有的超类(Object 除外)都遵守此约定,则 x.clone().getClass() == x.getClass()。
按照惯例,此方法返回的对象应该独立于该对象(正被复制的对象)。要获得此独立性,在 super.clone 返回对象之前,有必要对该对象的一个或多个字段进行修改。这通常意味着要复制包含正在被复制对象的内部“深层结构”的所有可变对象,并使用对副本的引用替换对这些对象的引用。如果一个类只包含基本字段或对不变对象的引用,那么通常不需要修改 super.clone 返回的对象中的字段。
Object 类的 clone 方法执行特定的复制操作。首先,如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException。注意,所有的数组都被视为实现接口 Cloneable。否则,此方法会创建此对象的类的一个新实例,并像通过分配那样,严格使用此对象相应字段的内容初始化该对象的所有字段;这些字段的内容没有被自我复制。所以,此方法执行的是该对象的“浅表复制”,而不“深层复制”操作。
Object 类本身不实现接口 Cloneable,所以在类为 Object 的对象上调用 clone 方法将会导致在运行时抛出异常。
Attributes
中的
clone
Object
中的
clone
Cloneable
public boolean isCaseIgnored()
Attributes
复制的描述
Attributes
中的
isCaseIgnored
public int size()
Attributes
复制的描述
Attributes
中的
size
public Attribute get(String attrID)
Attributes
复制的描述
Attributes
中的
get
attrID
- 要检索的属性的非 null id。如果此属性集忽略其属性 id 的字符大小写,则忽略 attrID 的大小写。
Attributes.put(java.lang.String, java.lang.Object)
,
Attributes.remove(java.lang.String)
public NamingEnumeration<Attribute> getAll()
Attributes
复制的描述
Attributes
中的
getAll
public NamingEnumeration<String> getIDs()
Attributes
复制的描述
Attributes
中的
getIDs
public Attribute put(String attrID, Object val)
Attributes
复制的描述
Attributes
中的
put
attrID
- 要添加的属性的非 null id。如果属性集忽略其属性 id 的字符大小写,则忽略 attrID 的大小写。
val
- 要添加的属性的可能为 null 的值。如果为 null,则属性不具有任何值。
Attributes.remove(java.lang.String)
public Attribute put(Attribute attr)
Attributes
复制的描述
Attributes
中的
put
attr
- 要添加的非 null 属性。如果属性集忽略其属性 id 的字符大小写,则忽略 attr 标识符的大小写。
Attributes.remove(java.lang.String)
public Attribute remove(String attrID)
Attributes
复制的描述
Attributes
中的
remove
attrID
- 要移除的属性的非 null id。如果属性集忽略其属性 id 的字符大小写,则忽略 attrID 的大小写。
public String toString()
public boolean equals(Object obj)
obj
- 要与之比较的可能为 null 的对象。
hashCode()
public int hashCode()
该哈希码通过加总此对象的属性的哈希码来计算。如果此 BasicAttributes 忽略其属性 ID 的大小写,则将哈希码加一。如果子类重写 hashCode(),则其也应该重写 equals(),这样两个相等的 Attributes 实例才能具有相同的哈希码。
equals(java.lang.Object)