AliasRegistry、SimpleAliasRegistry

AliasRegistry 

顶层接口,别名注册

void registerAlias(String name, String alias);

void removeAlias(String alias);

boolean isAlias(String name);

String[] getAliases(String name);

 

 

SimpleAliasRegistry

AliasRegistry的简单实现,内部以ConcurrentHashMap key=alias,value=name 作为容器

 

#registerAlias 

##name与alias一致,取消注册;

##别名已注册,新旧name一致,忽略;新旧name不一致,并且不允许覆盖,抛出IllegalStateException;

##别名未注册,递归检查alias是否已有别名,有则抛出IllegalStateException,无则成功注册

 

#removeAlias 移除key=alias的name,若name==null,抛出IllegalStateException

 

#isAlias 检查是否有该alias作为key

 

#getAliases级联递归获取name的alias[],例如name->alias1、alias1->alias2、alias2-> alias3,可以获取到[alias1, alias2, alias3]

 

posted on 2021-10-07 15:09  icodegarden  阅读(37)  评论(0编辑  收藏  举报