public class Rdn extends Object implements Serializable, Comparable<Object>
LdapName
。
RDN类代表一个RDN属性类型/值的映射,它可以被视为使用Attributes
。此外,它包含的方便方法,允许的类型和值容易检索时的RDN由单一类型/值对,这正是它出现在一个典型的使用。它还含有辅助方法允许的未格式化的属性值和非转义逃逸的价值根据语法中定义的格式rfc2253逃逸。方法以返回属性值为一个对象,该值是一个字符串(在非转义形式)或字节数组。
Rdn
将正确解析所有有效的RDNs,但并不试图检测出所有可能的违法行为无效时解析RDNs。这是“慷慨”接受无效RDNs。“有效性”的名字最终确定当它被提供到LDAP服务器,它可以接受或拒绝该名称的基础上,如它的架构信息和互操作性的因素。
下面的代码示例演示如何使用需要的类型和值作为参数的构造函数构造一个RDN:
RDN RDN =新的RDN(“CN”、“Juicy果”);系统。出来。println(RDN。tostring());最后一行打印 cn=Juicy\, Fruit,
unescapeValue()
方法可用于unescape逃跑的逗号导致原有价值
"Juicy, Fruit"。的
escapeValue()
方法加逃回前面的逗号。
这个类可以通过在RFC 2253,如下面的代码示例所示的RDN定义字符串表示形式实例化:
RDN RDN =新的RDN(CN =多汁\\,果”);系统。出来。println(RDN。tostring());最后一行打印 cn=Juicy\, Fruit
并发多线程只读访问的Rdn实例不需要同步。
除非另有说明,通过空参数这类构造函数或方法的行为将导致NullPointerException异常被抛出。
。Constructor and Description |
---|
Rdn(Attributes attrSet)
构建了由给定的属性设置一个RDN。
|
Rdn(Rdn rdn)
构建了从给定的
rdn RDN。
|
Rdn(String rdnString)
构建了从给定字符串的RDN。
|
Rdn(String type, Object value)
构建了从给定的属性的类型和值的RDN。
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Object obj)
该RDN与指定对象按顺序比较。
|
boolean |
equals(Object obj)
指定对象与RDN平等的比较。
|
static String |
escapeValue(Object val)
给定一个属性的值,返回一个字符串中指定了根据
RFC 2253规则。
|
String |
getType()
检索一本Rdn的类型。
|
Object |
getValue()
检索一本Rdn的价值。
|
int |
hashCode()
返回该RDN散列码。
|
int |
size()
检索该RDN属性/值对的数目。
|
Attributes |
toAttributes()
检索包含在该RDN的类型/值映射的
Attributes 观。
|
String |
toString()
|
static Object |
unescapeValue(String val)
根据指定的规则
RFC 2253给定属性值的字符串格式化,返回unformated价值。
|
public Rdn(Attributes attrSet) throws InvalidNameException
Attributes
。
字符串属性值不解释为RFC 2253 RDN字符串格式化。即值使用字面(不解析),假定是转义。
attrSet
-非空非空属性包含类型/值的映射。
InvalidNameException
-如果
attrSet内容不能被用来构建一个有效的RDN。
public Rdn(String rdnString) throws InvalidNameException
rdnString
-非空非空rfc2253格式化字符串。
InvalidNameException
-如果在rdnstring解析出现语法错误。
public Rdn(Rdn rdn)
rdn
-非空的RDN被复制。
public Rdn(String type, Object value) throws InvalidNameException
type
-非空非空字符串的属性类型。
value
-非空非空的属性值。
InvalidNameException
如果类型/值不能被用来构建一个有效的RDN。
toString()
public Object getValue()
一个多值RDN,此方法返回的类型的getType()
方法返回相应的值。
public String getType()
一个多值RDN,类型/值对没有特定的顺序上定义。在这种情况下,这种方法返回类型/值对的类型之一。getValue()
方法返回的类型相对应的该方法返回的值。
public int compareTo(Object obj)
如果obj为空或不含药的实例,抛出ClassCastException。
属性的类型和值对排队RDNS互相比较字典。在多值Rdns组件的顺序(如“欧=销售+ CN =鲍伯”)是不重要的。
compareTo
接口
Comparable<Object>
obj
-非null对象比较。
ClassCastException
如果obj为空或不是RDN。
public boolean equals(Object obj)
类型和值相等的匹配做如下:
如果obj为空或不含药的实例,则返回FALSE。
equals
方法重写,继承类
Object
obj
对象进行比较与RDN平等。
hashCode()
public int hashCode()
hashCode
方法重写,继承类
Object
equals(java.lang.Object)
public Attributes toAttributes()
Attributes
观。
public int size()
public static String escapeValue(Object val)
例如,如果val”苏、Grabbit和运行”,逃跑的该方法返回的值是“苏、参与和运行”。
一个字符串值表示为一个字符串和一个字节数组的二进制值。
val
-非空对象是逃跑。
ClassCastException
如果val的值不是一个字符串或字节数组。
public static Object unescapeValue(String val)
合法的和非法的值是在RFC 2253中定义的。这种方法是慷慨的接受价值观,不捕捉所有的非法价值。因此,通过在一个非法的价值并不必然引发IllegalArgumentException。
val
-非空字符串被转义。
IllegalArgumentException
-当一个非法值设置。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.