public class LdapName extends Object implements Name
这类解决了一些含糊不清的RFC 2253中发现如下:
字符串名称传递给LdapName
或返回它使用完整的Unicode字符集。他们也可能含有编码为每个字节由一三个字符的子串如“\\ B4为UTF-8字符”。他们不可能,但是,包含编码为每个字节的字符串中的单个字符的UTF-8字符:表示的意义就会暧昧。
LdapName
正确解析所有有效的名称,但并不试图检测出所有可能的违法行为无效的名称解析时。它是“慷慨”在接受无效的名称。“有效性”的名字最终确定当它被提供到LDAP服务器,它可以接受或拒绝该名称的基础上,如它的架构信息和互操作性的因素。
当为相等性进行测试时,属性类型,无论是二进制值和字符串值,都是不区分大小写的。不同但等效使用引用,转义字符串值,或为十六进制编码都是相同的。在多值RDNs组件的顺序(如“欧=销售+ CN =鲍伯”)是不重要的。
组件的LDAP名称,即RDNs、编号。n RDNs的范围从0到n-1个LDAP名称指标。此范围可以写为[ 0,n)。最右边的RDN索引是0,和最左边的RDN是指数n。例如,著名的名字:“CN = Steve Kille,O = ISODE有限,C =国标”依次为从0到2编号:{ c =国标,O = ISODE有限,CN = Steve Kille }。一个空的LDAP的名字是一个空的RDN代表名单。
并发多线程只读访问的LdapName实例不需要同步。
除非另有说明,通过空参数这类构造函数或方法的行为将导致一个NullPointerException异常被抛出。
Constructor and Description |
---|
LdapName(List<Rdn> rdns)
构建了LDAP名称RDN成分解析。
|
LdapName(String name)
从给定的可分辨名称建立一个LDAP的名字。
|
Modifier and Type | Method and Description |
---|---|
Name |
add(int posn, Rdn comp)
添加到指定的位置在LDAP名称一个RDN。
|
Name |
add(int posn, String comp)
添加到指定的位置在LDAP名称单组分。
|
Name |
add(Rdn comp)
增加了一个单一的RDN的LDAP名称结尾。
|
Name |
add(String comp)
增加了一个单组分的LDAP名称结尾。
|
Name |
addAll(int posn, List<Rdn> suffixRdns)
添加-订单-在指定的位置在这个名字一个名字的RDNS。
|
Name |
addAll(int posn, Name suffix)
在这个名称中添加一个名称的组件-在一个指定的位置。
|
Name |
addAll(List<Rdn> suffixRdns)
添加一个名为--这个名字最后RDNS。
|
Name |
addAll(Name suffix)
添加一个名称的组件-以-到这个名称的结尾。
|
Object |
clone()
生成此名称的新副本。
|
int |
compareTo(Object obj)
这ldapname与指定对象按顺序比较。
|
boolean |
endsWith(List<Rdn> rdns)
确定指定的RDN序列形式后缀的LDAP名称。
|
boolean |
endsWith(Name n)
确定此LDAP名称以指定LDAP名称后缀。
|
boolean |
equals(Object obj)
确定两个LDAP的名字都是平等的。
|
String |
get(int posn)
检索一个构件的LDAP名称作为字符串。
|
Enumeration<String> |
getAll()
检索此名称的组件作为字符串的枚举。
|
Name |
getPrefix(int posn)
创建一个名称,其组成部分包括一个前缀的LDAP名称组件。
|
Rdn |
getRdn(int posn)
检索此LDAP名称RDN作为RDN。
|
List<Rdn> |
getRdns()
检索相对著名的名称的列表。
|
Name |
getSuffix(int posn)
创建一个名称,其组成部分包括一个后缀在LDAP名称组件。
|
int |
hashCode()
计算此LDAP名称的哈希代码。
|
boolean |
isEmpty()
确定此LDAP名称是空的。
|
Object |
remove(int posn)
删除从LDAP的名字的一部分。
|
int |
size()
在LDAP名称检索组件的数量。
|
boolean |
startsWith(List<Rdn> rdns)
确定指定的RDN序列形式前缀的LDAP名称。
|
boolean |
startsWith(Name n)
确定此LDAP名称与指定LDAP名称前缀开始。
|
String |
toString()
返回的
RFC 2253在类定义的格式描述此LDAP名称的字符串表示形式。
|
public LdapName(String name) throws InvalidNameException
name
-这是一个非空的可分辨名称的格式根据定义的规则
RFC 2253。
InvalidNameException
如果语法违反检测。
Rdn.escapeValue(Object value)
public boolean isEmpty()
public Enumeration<String> getAll()
public String get(int posn)
get
接口
Name
posn
- 0的构件检索索引。必须在范围[ 0,size())。
IndexOutOfBoundsException
如果位置是在指定范围内。
public Rdn getRdn(int posn)
posn
- 0的RDN检索索引。必须在范围[ 0,size())。
IndexOutOfBoundsException
如果位置是在指定范围内。
public Name getPrefix(int posn)
getPrefix
接口
Name
posn
- 0指数的成分停止。必须在范围[ 0 ],size()。
IndexOutOfBoundsException
如果位置是在指定范围内。
public Name getSuffix(int posn)
getSuffix
接口
Name
posn
- 0开始索引处的组件开始。必须在范围[ 0 ],size()。
IndexOutOfBoundsException
如果位置是在指定范围内。
public boolean startsWith(Name n)
startsWith
接口
Name
n
的LDAP名称检查。
getPrefix(int posn)
public boolean startsWith(List<Rdn> rdns)
rdns
-
Rdns检查序列。
public boolean endsWith(Name n)
endsWith
接口
Name
n
的LDAP名称检查。
getSuffix(int posn)
public boolean endsWith(List<Rdn> rdns)
rdns
-
Rdns检查序列。
public Name addAll(Name suffix) throws InvalidNameException
addAll
接口
Name
suffix
-非零组件添加。
InvalidNameException
-如果
suffix不是有效的LDAP名称,或者如果组件的添加会违反本LDAP名称的语法规则。
public Name addAll(List<Rdn> suffixRdns)
suffixRdns
-非空
Rdns添加后缀。
public Name addAll(int posn, Name suffix) throws InvalidNameException
addAll
接口
Name
suffix
-非零组件添加。
posn
-的索引添加新组件。必须在范围[ 0 ],size()。
InvalidNameException
-如果
suffix不是有效的LDAP名称,或者如果组件的添加会违反本LDAP名称的语法规则。
IndexOutOfBoundsException
如果位置是在指定范围内。
public Name addAll(int posn, List<Rdn> suffixRdns)
suffixRdns
-非空
Rdns添加后缀。
posn
-的索引添加后缀RDNS。必须在范围[ 0 ],size()。
IndexOutOfBoundsException
如果位置是在指定范围内。
public Name add(String comp) throws InvalidNameException
add
接口
Name
comp
-非零组件添加。
InvalidNameException
如果加入公司最后的名字会违反名称的语法。
public Name add(int posn, String comp) throws InvalidNameException
add
接口
Name
comp
-非零组件添加。
posn
-的索引添加新组件。必须在范围[ 0 ],size()。
IndexOutOfBoundsException
如果位置是在指定范围内。
InvalidNameException
如果加入公司的指定位置处将违反名称的语法。
public Name add(int posn, Rdn comp)
comp
-非空的RDN添加。
posn
-的索引来添加新的RDN。必须在范围[ 0 ],size()。
IndexOutOfBoundsException
如果位置是在指定范围内。
public Object remove(int posn) throws InvalidNameException
remove
接口
Name
posn
-组件删除索引。必须在范围[ 0,size())。
IndexOutOfBoundsException
如果位置是在指定范围内。
InvalidNameException
如果删除组件会违反语法规则的名称。
public List<Rdn> getRdns()
Rdn
实例。
public Object clone()
public boolean equals(Object obj)
如果在一个RDN在其他等于相应的RDN两LDAP的名字是平等的。这意味着既有RDNS数相同,每个RDN的equals()试验在其他名称与对应的RDN返回true。看到一个平等Rdn.equals(Object obj)
RDN定义。
equals
方法重写,继承类
Object
obj
-比较可能的空对象。
hashCode()
public int compareTo(Object obj)
如果对象是无效的或不ldapname实例,抛出ClassCastException。
LDAP名称排序如下字符串比较的编纂规则,这种适用于LDAP的名字所有RDNS延伸。所有RDNS排队在指定的顺序和比较字典。看到Rdn.compareTo(Object obj)
RDN比较规则。
如果这名字是字典序小于LDAP对象,返回一个负数。如果LDAP的名字是字典序大于obj,正数返回。
compareTo
接口
Comparable<Object>
compareTo
接口
Name
obj
-非空ldapname实例比较。
ClassCastException
如果obj是无效的或不ldapname。
Comparable.compareTo(Object)
public int hashCode()
hashCode
方法重写,继承类
Object
equals(java.lang.Object)
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.