public class BasicAttributes extends Object implements Attributes
BasicAttributes是区分大小写或不区分大小写(case-ignore)。 此属性在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[])
,
Serialized Form
Constructor and Description |
---|
BasicAttributes()
构造一个新的属性实例。
|
BasicAttributes(boolean ignoreCase)
构造一个新的属性实例。
|
BasicAttributes(String attrID, Object val)
使用一个属性构造一个新的属性实例。
|
BasicAttributes(String attrID, Object val, boolean ignoreCase)
使用一个属性构造一个新的属性实例。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
创建并返回此对象的副本。
|
boolean |
equals(Object obj)
确定此
BasicAttributes是否等于另一个
Attributes两个
Attributes相等,如果它们都是Attributes的
实例 ,则以相同的方式处理属性ID的情况,并包含相同的属性。
|
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()
生成此属性集的字符串表示形式。
|
public BasicAttributes()
public BasicAttributes(boolean ignoreCase)
ignoreCase
为真,属性标识符的字符大小写将被忽略;
否则情况重大。
ignoreCase
- true表示此属性集将在检索或添加属性时忽略其属性标识符的情况;
假意味着受到尊重。
public BasicAttributes(String attrID, Object val)
attrID
- non-null要添加的属性的id。
val
- 要添加的属性的值。
如果为null,则将null值添加到该属性。
public BasicAttributes(String attrID, Object val, boolean ignoreCase)
ignoreCase
为真,属性标识符的字符大小写将被忽略;
否则情况重大。
attrID
- non-null要添加的属性的id。
如果此属性集忽略其属性ID的字符大小写,则忽略attrID的情况。
val
- 要添加的属性的值。
如果为null,则将null值添加到该属性。
ignoreCase
- true表示当检索或添加属性时,此属性集将忽略其属性标识符的情况;
假意味着受到尊重。
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
的方法Object
执行特定的克隆操作。 首先,如果此对象的类不实现接口Cloneable
,则抛出CloneNotSupportedException
。 请注意,所有阵列被认为是实现该接口Cloneable
和所述的返回类型clone
数组类型的方法T[]
是T[]
其中T是任何引用或原始类型。 否则,该方法将创建该对象的类的新实例,并将其所有字段初始化为完全符合该对象的相应字段的内容,就像通过赋值一样。 这些字段的内容本身不被克隆。 因此,该方法执行该对象的“浅拷贝”,而不是“深度拷贝”操作。
Object
类本身不实现接口Cloneable
,因此在类别为Object
的对象上调用clone
方法将导致运行时抛出异常。
clone
在界面
Attributes
clone
在类别
Object
Cloneable
public boolean isCaseIgnored()
Attributes
复制
isCaseIgnored
在界面
Attributes
public int size()
Attributes
复制
size
在界面
Attributes
public Attribute get(String attrID)
Attributes
复制
get
在界面
Attributes
attrID
- 要检索的属性的非空ID。
如果此属性集忽略其属性ID的字符大小写,则忽略attrID的情况。
Attributes.put(java.lang.String, java.lang.Object)
,
Attributes.remove(java.lang.String)
public NamingEnumeration<Attribute> getAll()
Attributes
复制
getAll
在接口
Attributes
public NamingEnumeration<String> getIDs()
Attributes
复制
getIDs
在界面
Attributes
public Attribute put(String attrID, Object val)
Attributes
复制
put
在接口
Attributes
attrID
- non-null要添加的属性的id。
如果属性集忽略其属性id的字符大小写,则忽略attrID的情况。
val
- 要添加的属性的可能的空值。
如果为null,则该属性不具有任何值。
Attributes.remove(java.lang.String)
public Attribute put(Attribute attr)
Attributes
复制
put
在界面
Attributes
attr
- 要添加的非空属性。
如果属性集忽略其属性ID的字符大小写,则忽略attr标识符的情况。
Attributes.remove(java.lang.String)
public Attribute remove(String attrID)
Attributes
复制
remove
在界面
Attributes
attrID
- 要删除的属性的非空id。
如果属性集忽略其属性id的字符大小写,则忽略attrID的情况。
public String toString()
public boolean equals(Object obj)
equals
在
Object
obj
- 要比较的可能的空对象。
hashCode()
public int hashCode()
通过添加该对象的属性的哈希码来计算哈希码。 如果此BasicAttributes忽略其属性ID的情况,则将一个添加到哈希码。 如果一个子类覆盖hashCode() ,它也应该覆盖equals() ,以使两个相等的 Attributes实例具有相同的哈希码。
hashCode
在类别
Object
equals(java.lang.Object)