所有类


javax.naming.directory
接口 Attribute

所有超级接口:
Cloneable, Serializable
所有已知实现类:
BasicAttribute

public interface Attribute
   
   
   
   
   
extends Cloneable, Serializable

此接口表示与命名对象关联的属性。

在目录中,命名的对象可以与其属性关联。Attribute 接口表示与命名对象关联的属性。属性包含 0 个或多个(可能为 null 的)值。属性值可以是有序的也可以是无序的(参阅 isOrdered())。如果值是无序的,则不允许重复。如果值是有序的,则允许重复。

属性的内容和表示形式及其值均由属性的模式 定义。模式包含关于属性语法和属性其他性质的信息。有关基础目录服务支持模式时如何获取关于属性的模式信息的详细信息,请参阅 getAttributeDefinition()getAttributeSyntaxDefinition()

两个属性的相等性由实现类确定。简单的实现可以使用 Object.equals() 来确定属性值的相等性,而较复杂的实现可能使用模式信息来确定相等性。类似地,一个实现可能提供仅返回传递给其构造方法的值的静态存储结构,另一个实现可能定义 get()getAll() 从目录动态获取值。

注意,更新 Attribute(如添加或移除值)对目录中相应的属性表示形式没有影响。只有使用 DirContext 接口中的操作才能实现对目录的更新。

从以下版本开始:
1.3
另请参见:
BasicAttribute

字段摘要
static longserialVersionUID
          使用 JNDI 1.1.1 中的 serialVersionUID 获取互操作性。
 
方法摘要
 voidadd(int ix, Object attrVal)
          将属性值添加到属性值的有序列表中。
 booleanadd(Object attrVal)
          向属性添加新值。
 voidclear()
          从此属性移除所有值。
 Objectclone()
          对属性进行复制。
 booleancontains(Object attrVal)
          确定某个值是否在属性中。
 Objectget()
          检索此属性的其中一个值。
 Objectget(int ix)
          从属性值的有序列表中检索属性值。
 NamingEnumeration<?>getAll()
          检索属性值的枚举。
 DirContextgetAttributeDefinition()
          检索属性的模式定义。
 DirContextgetAttributeSyntaxDefinition()
          检索与属性关联的语法定义。
 StringgetID()
          检索此属性的 id。
 booleanisOrdered()
          确定此属性的值是否是有序的。
 Objectremove(int ix)
          从属性值的有序列表中移除属性值。
 booleanremove(Object attrval)
          从属性中移除指定值。
 Objectset(int ix, Object attrVal)
          设置属性值的有序列表中的属性值。
 intsize()
          检索此属性中的值数。
 

字段详细信息

serialVersionUID

static final long serialVersionUID
使用 JNDI 1.1.1 中的 serialVersionUID 获取互操作性。

另请参见:
常量字段值
方法详细信息

getAll

NamingEnumeration<?> getAll()
                            throws NamingException
检索属性值的枚举。如果正在进行枚举时添加、更改或移除属性值,则此枚举的行为是不确定的。如果属性值是有序的,则枚举的项将是有序的。

返回:
属性值的非 null 枚举。每个枚举元素都可能是一个 null 对象。对象的类就是属性值的类。如果属性值为 null,则元素为 null。如果属性的值为零,则返回空枚举。
抛出:
NamingException - 如果检索值时遇到命名异常。
另请参见:
isOrdered()

get

Object get()
           throws NamingException
检索此属性的其中一个值。如果属性具有多个值并且是无序的,则返回其中的任意一个值。如果属性具多个值并且是有序的,则返回第一个值。

返回:
表示属性值之一的可能为 null 的对象。如果属性值为 null,则返回 null。
抛出:
NamingException - 如果检索值时遇到命名异常。
NoSuchElementException - 如果此属性没有值。

size

int size()
检索此属性中的值数。

返回:
此属性中的非负值数。

getID

String getID()
检索此属性的 id。

返回:
此属性的 id。它不能为 null。

contains

boolean contains(Object attrVal)
确定某个值是否在属性中。相等性由实现确定,其可能使用 Object.equals() 或模式信息来确定相等性。

参数:
attrVal - 要检查的可能为 null 的值。如果为 null,则检查属性是否具有其值不为 null 的属性值。
返回:
如果 attrVal 是此属性的值之一,则返回 true;否则返回 false。
另请参见:
Object.equals(java.lang.Object), BasicAttribute.equals(java.lang.Object)

add

boolean add(Object attrVal)
向属性添加新值。如果属性值是无序的,并且 attrVal 已在属性中,则此方法不执行任何操作。如果属性值是有序的,则 attrVal 将被添加到属性值列表的末尾。

相等性由实现确定,其可能使用 Object.equals() 或模式信息来确定相等性。

参数:
attrVal - 要添加的可能为 null 的新值。如果为 null,则将 null 作为属性值添加。
返回:
如果添加了值,则返回 true;否则返回 false。

remove

boolean remove(Object attrval)
从属性中移除指定值。如果 attrval 不在属性中,则此方法不执行任何操作。如果属性值是有序的,则移除第一次出现的 attrVal,大于被移除值的索引处的属性值朝列表头方向上移(并将其索引减一)。

相等性由实现确定,其可能使用 Object.equals() 或模式信息来确定相等性。

参数:
attrval - 要从此属性中移除的可能为 null 的值。如果为 null,则移除为 null 的属性值。
返回:
如果移除了值,则返回 true;否则返回 false。