Class CompositeName
admin
2024-04-25 07:32:17
0

java.lang.Object
javax.naming.CompositeName
实现的所有接口
Serializable , Cloneable , Comparable , Name
public class CompositeName
extends Object
implements Name
此类表示复合名称 - 跨越多个名称空间的组件名称序列。 每个组件都是命名系统命名空间中的字符串名称。 如果组件来自分层命名空间,则可以使用CompoundName类将该组件进一步解析为其原子部分。
复合名称的组件已编号。 具有N个分量的复合名称的索引的范围从0到(但不包括)N.该范围可以写为[0,N)。 最重要的组件是索引0.空的复合名称没有组件。

JNDI复合名称语法
JNDI定义了复合名称的标准字符串表示形式。 此表示形式是使用组件分隔符(正斜杠字符(/))从左到右组合复合名称的组件以分隔每个组件。 JNDI语法定义以下元字符:
逃避(反斜杠\),
引号字符(单(')和双引号(“)),和
组件分隔符(正斜杠字符(/))。
任何出现的引号,任何元字符前的转义,组件末尾的转义或不带引号的组件中的组件分隔符都必须在该组件组成复合名称字符串时以转义字符开头。 。 或者,为了避免如上所述添加转义字符,可以使用匹配的单引号或匹配的双引号来引用整个组件。 在双引号组件中出现的单引号不被视为元字符(并且不需要转义),反之亦然。
比较两个复合名称时,字符的大小写很重要。

前导组件分隔符(复合名称字符串以分隔符开头)表示前导空组件(由空字符串组成的组件)。 尾随组件分隔符(复合名称字符串以分隔符结尾)表示尾随空组件。 相邻的组件分隔符表示空组件。

复合名称示例
此表显示了一些复合名称的示例。 每行显示复合名称的字符串形式及其对应的结构形式( CompositeName )。 examples showing string form of composite name and its corresponding structural form (CompositeName) String Name CompositeName “” {} (the empty name == new CompositeName(“”) == new CompositeName()) “x” {“x”} “x/y” {“x”, “y”} “x/” {“x”, “”} “/x” {“”, “x”} “/” {“”} “//” {“”, “”} “/x/” {“”, “x”, “”} “x//y” {“x”, “”, “y”}
组成实例
以下是一些组合示例。 右列显示组成字符串复合名称,而左列显示组成相应的CompositeName 。 请注意,组合两个复合名称的字符串形式只需将它们的字符串形式连接在一起。 composition examples showing string names and composite names String Names CompositeNames “x/y” + “/” = x/y/ {“x”, “y”} + {“”} = {“x”, “y”, “”} “” + “x” = “x” {} + {“x”} = {“x”} “/” + “x” = “/x” {“”} + {“x”} = {“”, “x”} “x” + “” + “” = “x” {“x”} + {} + {} = {“x”}
多线程访问
CompositeName实例未与并发多线程访问同步。 尝试访问和修改CompositeName多个线程应锁定该对象。
从以下版本开始:
1.3
另请参见:
Serialized Form
构造方法摘要

        构造方法 

变量 构造器 描述
CompositeName()
构造一个新的空复合名称。
CompositeName​(String n)
通过使用复合名称语法(从左到右,斜杠分隔)解析字符串n来构造新的复合名称实例。
protected CompositeName​(Enumeration comps)
使用’comps’指定的组件构造一个新的复合名称实例。
方法摘要

       所有方法实例方法具体的方法

变量和类型 方法 描述
Name add​(int posn, String comp)
在此复合名称中的指定位置添加单个组件。
Name add​(String comp)
将单个组件添加到此复合名称的末尾。
Name addAll​(int posn, Name n)
在此复合名称中的指定位置添加复合名称的组件(按顺序)。
Name addAll​(Name suffix)
将复合名称的组件(按顺序)添加到此复合名称的末尾。
Object clone()
生成此复合名称的副本。
int compareTo​(Object obj)
将此CompositeName与指定的Object进行比较以获得顺序。
boolean endsWith​(Name n)
确定复合名称是否是此复合名称的后缀。
boolean equals​(Object obj)
确定两个复合名称是否相等。
String get​(int posn)
检索此复合名称的组件。
Enumeration getAll()
检索此复合名称的组件作为字符串的枚举。
Name getPrefix​(int posn)
创建一个复合名称,其组件由此复合名称中组件的前缀组成。
Name getSuffix​(int posn)
创建一个复合名称,其组件由此复合名称中组件的后缀组成。
int hashCode()
计算此复合名称的哈希码。
boolean isEmpty()
确定此复合名称是否为空。
Object remove​(int posn)
从此复合名称中删除组件。
int size()
检索此复合名称中的组件数。
boolean startsWith​(Name n)
确定复合名称是否是此复合名称的前缀。
String toString()
生成此复合名称的字符串表示形式。
声明方法的类 java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
构造方法详细信息
CompositeName
protected CompositeName​(Enumeration comps)
使用’comps’指定的组件构造一个新的复合名称实例。 当受保护的方法覆盖clone(),getPrefix(),getSuffix()等方法时,它们将由CompositeName的子类使用。
参数
comps - 包含新组合名称的组件的非null枚举。 每个元素都是String类。 将使用枚举来提取其元素。
CompositeName
public CompositeName​(String n)
throws InvalidNameException
通过使用复合名称语法(从左到右,斜杠分隔)解析字符串n来构造新的复合名称实例。 复合名称语法在类描述中有详细描述。
参数
n - 要解析的非null字符串。
异常
InvalidNameException - 如果n具有无效的复合名称语法。
CompositeName
public CompositeName()
构造一个新的空复合名称。 当调用isEmpty()时,这样的名称返回true。
方法详细信息
toString
public String toString()
生成此复合名称的字符串表示形式。 字符串表示包括按顺序枚举复合名称的每个组件,并用正斜杠字符分隔每个组件。 必要时根据JNDI语法应用引用和转义字符,该语法在类描述中描述。 空组件由空字符串表示。 这样生成的字符串表示可以传递给CompositeName构造函数以创建新的等效复合名称。
重写:
toString在类 Object
结果
此复合名称的非null字符串表示形式。
equals
public boolean equals​(Object obj)
确定两个复合名称是否相等。 如果obj为null或不是复合名称,则返回false。 如果一个中的每个组件等于另一个中的相应组件,则两个复合名称相等。 这意味着两者具有相同数量的组件,并且每个组件对另一个名称中相应组件的equals()测试返回true。
重写:
equals在类 Object
参数
obj - 要比较的可能为null的对象。
结果
如果obj等于此复合名称,则返回true,否则返回false。
另请参见:
hashCode()
hashCode
public int hashCode()
计算此复合名称的哈希码。 哈希码是此复合名称的各个组件的哈希码的总和。
重写:
hashCode在类 Object
结果
表示此名称的哈希码的int。
另请参见:
equals(java.lang.Object)
compareTo
public int compareTo​(Object obj)
将此CompositeName与指定的Object进行比较以获得顺序。 返回负整数,零或正整数,因为此Name小于,等于或大于给定的Object。
如果obj为null或者不是CompositeName的实例,则抛出ClassCastException。

请参阅equals()了解两个复合名称相等的含义。 如果两个复合名称相等,则返回0。

复合名称的排序遵循字符串比较的词典规则,其扩展名适用于复合名称中的所有组件。 效果就好像所有组件都按照指定的顺序排列,并且在两个阵容中应用了词典编纂规则。 如果此复合名称“按字典顺序”小于obj,则返回负数。 如果此复合名称“按字典顺序”大于obj,则返回正数。

Specified by:
compareTo接口 Comparable
Specified by:
compareTo接口 Name
参数
obj - 要比较的非null对象。
结果
一个负整数,零或正整数,因为此Name小于,等于或大于给定的Object。
异常
ClassCastException - 如果obj不是CompositeName。
另请参见:
Comparable.compareTo(Object)
clone
public Object clone()
生成此复合名称的副本。 对此复合名称的组件的更改不会影响新副本,反之亦然。
Specified by:
clone在界面 Name
重写:
clone在类 Object
结果
此复合名称的非null副本。
另请参见:
Cloneable
size
public int size()
检索此复合名称中的组件数。
Specified by:
size接口 Name
结果
此复合名称中的非负数组件。
isEmpty
public boolean isEmpty()
确定此复合名称是否为空。 如果组件零,则复合名称为空。
Specified by:
isEmpty接口 Name
结果
如果此复合名称为空,则返回true,否则返回false。
getAll
public Enumeration getAll()
检索此复合名称的组件作为字符串的枚举。 此枚举的更新对此复合名称的影响未定义。
Specified by:
getAll接口 Name
结果
此复合名称的组件的非null枚举。 枚举的每个元素都是String类。
get
public String get​(int posn)
检索此复合名称的组件。
Specified by:
get在界面 Name
参数
posn - 要检索的组件的从0开始的索引。 必须在[0,size())范围内。
结果
索引posn处的非null组件。
异常
ArrayIndexOutOfBoundsException - 如果posn超出指定范围。
getPrefix
public Name getPrefix​(int posn)
创建一个复合名称,其组件由此复合名称中组件的前缀组成。 对此复合名称的后续更改不会影响返回的名称。
Specified by:
getPrefix接口 Name
参数
posn - 要停止的组件的从0开始的索引。 必须在[0,size()]范围内。
结果
一个复合名称,由[0,posn]范围内的索引处的组件组成。
异常
ArrayIndexOutOfBoundsException - 如果posn超出指定范围。
getSuffix
public Name getSuffix​(int posn)
创建一个复合名称,其组件由此复合名称中组件的后缀组成。 对此复合名称的后续更改不会影响返回的名称。
Specified by:
getSuffix在界面 Name
参数
posn - 要启动的组件的从0开始的索引。 必须在[0,size()]范围内。
结果
一个复合名称,由[posn,size())范围内的索引处的组件组成。 如果posn等于size(),则返回空的复合名称。
异常
ArrayIndexOutOfBoundsException - 如果posn超出指定范围。
startsWith
public boolean startsWith​(Name n)
确定复合名称是否是此复合名称的前缀。 如果复合名称’n’等于getPrefix(n.size()),则它是一个前缀 - 换句话说,该复合名称以’n’开头。 如果’n’为null或不是复合名称,则返回false。
Specified by:
startsWith在界面 Name
参数
n - 要检查的可能为null的名称。
结果
如果n是CompositeName并且是此复合名称的前缀,则返回true,否则返回false。
endsWith
public boolean endsWith​(Name n)
确定复合名称是否是此复合名称的后缀。 如果复合名称’n’等于getSuffix(size() - n.size()),则复合名称’n’是后缀 - 换句话说,此复合名称以’n’结尾。 如果n为null或不是复合名称,则返回false。
Specified by:
endsWith在界面 Name
参数
n - 要检查的可能为空的名称。
结果
如果n是CompositeName并且是此复合名称的后缀,则返回true,否则返回false。
addAll
public Name addAll​(Name suffix) throws InvalidNameException
将复合名称的组件(按顺序)添加到此复合名称的末尾。
Specified by:
addAll接口 Name
参数
suffix - 要添加的非null组件。
结果
更新的CompositeName,而不是新的。 不能为空。
异常
InvalidNameException - 如果后缀不是复合名称。
addAll
public Name addAll​(int posn, Name n) throws InvalidNameException
在此复合名称中的指定位置添加复合名称的组件(按顺序)。 在第一个新组件的索引处或之后的此组合名称的组件向上移动(远离索引0)以容纳新组件。
Specified by:
addAll在界面 Name
参数
n - 要添加的非null组件。
posn - 此名称中用于添加新组件的索引。 必须在[0,size()]范围内。
结果
更新的CompositeName,而不是新的。 不能为空。
异常
InvalidNameException - 如果n不是复合名称。
ArrayIndexOutOfBoundsException - 如果posn超出指定范围。
add
public Name add​(String comp) throws InvalidNameException
将单个组件添加到此复合名称的末尾。
Specified by:
add接口 Name
参数
comp - 要添加的非null组件。
结果
更新的CompositeName,而不是新的。 不能为空。
异常
InvalidNameException - 如果在名称末尾添加comp会违反名称的语法。
add
public Name add​(int posn, String comp) throws InvalidNameException
在此复合名称中的指定位置添加单个组件。 在新组件的索引处或之后,此组合名称的组件向上移动一个(远离索引0)以容纳新组件。
Specified by:
add接口 Name
参数
comp - 要添加的非null组件。
posn - 添加新组件的索引。 必须在[0,size()]范围内。
结果
更新的CompositeName,而不是新的。 不能为空。
异常
ArrayIndexOutOfBoundsException - 如果posn超出指定范围。
InvalidNameException - 如果在指定位置添加comp会违反名称的语法。
remove
public Object remove​(int posn) throws InvalidNameException
从此复合名称中删除组件。 删除位于“posn”位置的此复合名称的组件,并将索引大于“posn”的组件向下移动(朝向索引0)1。
Specified by:
remove在界面 Name
参数
posn - 要删除的组件的索引。 必须在[0,size())范围内。
结果
删除了组件(String)。
异常
ArrayIndexOutOfBoundsException - 如果posn超出指定范围(包括复合名称为空的情况)。
InvalidNameException - 如果删除组件将违反名称的语法。

相关内容

热门资讯

加快完善中央银行制度!国常会讨... 5月21日,国务院总理李强主持召开国务院常务会议,研究推进全国统一大市场建设有关工作,审议通过《现代...
毕业人数历史新高,大城市却还在... 今年的毕业生人数要破纪录了,预计1270万人,和去年相比又增长了48万,再创历史新高。 按理来说,就...
28.5万亿美元——这是Spa... 全球太空探索领军者SpaceX最新发布的这份万众瞩目IPO招股说明书显示,其自行评估的SpaceX总...
乐聚智能冲击IPO,聚焦人形机... 2025年以来全球人形机器人行业进入爆发期,无论是企业数量,还是融资规模均实现跨越式增长。 据人形机...
年轻人把澡堂子玩成了社交顶配 ... 花上几百元,甚至上千元,到澡堂子待一天——这是时下最流行的休闲消费方式。当然,澡堂子们也把名字升级为...
原创 五... 无营生可做,无房产置办,也无心做任何投资,整日里就单纯陪着父亲左右度日。 这话是他说的,5月13日,...
合肥居家闲置黄金整理指南 轻松... 随着近年来黄金市场行情持续向好,合肥不少市民开始整理家中闲置的黄金首饰、金条等物品,希望通过合理处置...
廿载荣耀见证!52位券商领军者... 权威集结,见证行业标杆! 由证券时报主办的“2026中国证券业君鼎奖”活动即将进入专家评审阶段。本届...
小米YU7首战Model Y八... 快科技5月21日消息,今晚小米人车家全生态新品发布会上,雷军宣布正式推出小米YU7标准版,售价23....
小米跑车级SUV YU7 GT... 记者|李星 编辑|陈柯名 裴健如 杜恒峰 校对|程鹏 5月21日晚间,小米YU7 GT正式上市,售价...
霍尔木兹海峡封锁 日本原油进口... 据日本共同社5月21日报道,日本财务省21日公布4月贸易统计初值(通关口径)显示,从中东进口原油38...
鲍威尔任内最后一次会议纪要公布... 当地时间5月20日,美国联邦储备委员会公布的4月货币政策会议纪要表明,如果美国通胀持续高于目标水平,...
晚间开售,非标提价,茅台改革进... 出品|中访网 审核|李晓燕 5月18日,贵州茅台接连抛出两大市场动作,瞬间搅动白酒行业神经。继5月1...
海关律师、走私辩护律师邵丹:罗... 近日,罗湖海关查获旅客走私红酒3支。 某日,罗湖海关关员在对进境旅客进行监管时,发现一名男性旅客进...
原创 三... 目前全球所有的电子产品中,涨的最猛的,就是内存。 最近一年以来,平均涨了四五倍,内存厂商们是大赚特赚...
长鑫科技科创板IPO将于5月2... 观点网讯:5月20日,据上交所网站披露,上交所上市审核委员会定于5月27日召开2026年第27次上市...
345.68亿!上海S基金交易... 来源:看看新闻KNEWS 日前,由上海股权托管交易中心、上海科创中心股权投资基金管理有限公司联合主办...
腾讯云·云上好CP携手六大消费... 当告白季的温柔氛围, 撞上科技赋能的好物狂欢, 腾讯云「云上好 CP」带着六大消费电子企业CP惊喜登...
擎天租与京东集团达成战略合作,... 来源:猎云网 5月21日,擎天租宣布与京东集团达成全面战略合作,双方将围绕产品解决方案共建、渠道供应...
金鹰基金固收老将林暐一次性卸任... 5月19日,金鹰基金管理有限公司(下称“金鹰基金”)发布多份基金经理变更公告,旗下基金经理林暐因个人...