一种英文枚举自动补全中文值的方法技术

技术编号:28672737 阅读:14 留言:0更新日期:2021-06-02 02:48
本发明专利技术公开了一种英文枚举自动补全中文值的方法,包括以下步骤:定义基础枚举接口;扩展存储枚举值和中文的属性;枚举类型实现基础枚举接口,并实现获取枚举中文值的方法;定义一个返回值处理类;补全枚举中文值;定义系统拦截器;返回处理结果。本方法通过使用服务端拦截器的技术手段,在拦截器中统一对枚举值的中文值进行补全,这样客户端可以直接使用补全的中文值,解决了客户端需要存储中英文转换数据进行转换的问题,降低了客户端与枚举值的耦合性,同时也减少了客户端的工作量;同时,本方法使用系统低耦合的拦截器机制实现,自动补全软件接口返回值中枚举中文值属性,减少软件开发时间,使枚举类型开发工作效率提高20%左右。

【技术实现步骤摘要】
一种英文枚举自动补全中文值的方法
本专利技术涉及计算机
,特别涉及一种英文枚举自动补全中文值的方法。
技术介绍
枚举是系统开发中常用的一种基础数据类型,通常为提高系统的稳定性,在系统软件接口中使用大写英文字符来定义具体的枚举值,在系统操作界面使用用户可理解的中文值进行展示,这样就需要系统支持枚举值的英文和中文的读取。现有技术中,枚举值中英文的转换是由客户端进行的。服务端提供英文枚举值,客户端会存储该枚举值中英文的映射关系数据,客户端获取英文枚举值后再根据中英文映射关系转换为中文进行展示,这种实现方式系统耦合性高,程序扩展性差,枚举值发生变更时需要同时修改服务端和客户端,另外客户端需要进行中英文转换的工作,增加了软件开发的工作量。
技术实现思路
专利技术目的:本专利技术的目的是提供一种系统耦合性低、程序扩展性强的英文枚举自动补全中文值的方法。技术方案:本专利技术所述的英文枚举自动补全中文值的方法,包括以下步骤:(1)定义基础枚举接口;(2)对定义的枚举类型扩展一个存储枚举值的属性和存储中文的属性;(3)枚举类型实现步骤(1)中的基础枚举接口,并实现获取枚举中文值的方法;(4)定义一个返回值处理类;(5)补全返回值中的枚举中文值;(6)定义系统拦截器,配置该拦截器拦截所有系统请求;(7)重写步骤(6)中定义的拦截器返回前处理方法,并将处理结果返回。所述步骤(1)中基础枚举接口包含一个获取枚举中文值的方法。所述步骤(4)中返回值处理类包含一个公共方法其参数为请求的返回体。所述步骤(5)中对返回值的补全是通过循环递归实现,保证该返回值及其集合属性中的枚举类型均能被进行中文值补全。所述步骤(6)中对返回值的处理是通过拦截器方式自动实现。有益效果:与现有技术相比,本专利技术具有如下优点:1、通过使用服务端拦截器的技术手段,在拦截器中统一对枚举值的中文值进行补全,这样客户端可以直接使用补全的中文值,解决了客户端需要存储中英文转换数据进行转换的问题,降低了客户端与枚举值的耦合性,同时也减少了客户端的工作量;2、使用系统低耦合的拦截器机制实现,自动补全软件接口返回值中枚举中文值属性,减少软件开发时间,使枚举类型开发工作效率提高20%左右。附图说明图1为步骤流程图;图2为枚举中文值补全类图;图3枚举值中文值补全流程图;图4为枚举中文值补全时序图。具体实施方式下面结合附图对本专利技术的技术方案作进一步说明。如图1所示,本方法包括以下步骤:(1)定义基础枚举接口;(2)对定义的枚举类型扩展一个存储枚举值的属性和存储中文的属性;(3)枚举类型实现步骤(1)中的基础枚举接口,并实现获取枚举中文值的方法;(4)定义一个返回值处理类;(5)补全返回值中的枚举中文值;(6)定义系统拦截器,配置该拦截器拦截所有系统请求,其拦截流程时序如图4所示;(7)重写步骤(6)中定义的拦截器返回前处理方法,并将处理结果返回。所述步骤(1)中基础枚举接口包含一个获取枚举中文值的方法;所述步骤(4)中返回值处理类包含一个公共方法其参数为请求的返回体;所述步骤(5)中对返回值的补全是通过循环递归实现,保证该返回值及其集合属性中的枚举类型均能被进行中文值补全;所述步骤(6)中对返回值的处理是通过拦截器方式自动实现。本方法的详细说明如下:如图2所示,服务端定义一个基础枚举接口IBaseEnum,接口中定义一个枚举中文值的方法getDesc方法。具体枚举类型Enum实现IBaseEnum接口,扩展枚举值value属性和中文值desc属性,并提供获取获取枚举值和枚举名称的方法。Response为软件接口定义的具体返回值,包含type枚举类型属性,并提供了赋值和获取该属性的方法。定义图2中的EnumHandle枚举处理类,该类包含handle枚举自动补全处理方法。该方法接收Object类型的参数,并返回处理后的Object类型返回值。具体实现算法参照如图3所示的枚举值中文值补全流程图。(1)首先判断参数类型是否为集合类型;(2)若参数是集合类型循环遍历该集合,声明一个JSONArray数组类型的最终返回值,取出每一个元素递归调用handle方法并将返回值保存在集合类型的返回值中;(3)若参数不是集合类型,通过反射机制获取该类型所有属性值列表;(4)按顺序在属性值列表中取出一个属性,判断该属性是否为集合类型,若为集合类型重复(2);(5)若属性不是集合类,声明一个JSONObject类型的返回值;(6)保存该属性及其值到返回值中;(7)判断该属性是否为IBaseEnum类型;(8)若属性是IBaseEnum类型则增加一个没有属性名+Desc为名称的属性,其属性值为getDesc()的返回值;(9)判断是否遍历完所有属性;(10)若未完成遍历则重复(4);(11)若已遍历完所有属性则返回最终返回值。定义拦截器EnumAdvice,并拦截所有请求的返回值。EnumAdvic类重写ResponseBodyAdvice中的beforeBodyWrite方法,并将调用EnumHandle枚举处理类中的handle方法处理返回值参数,并将处理结果作为最终返回值返回。具体实现样例如下来返回值中的type属性。本文档来自技高网...

【技术保护点】
1.一种英文枚举自动补全中文值的方法,其特征在于,包括以下步骤:/n(1)定义基础枚举接口;/n(2)对定义的枚举类型扩展一个存储枚举值的属性和存储中文的属性;/n(3)枚举类型实现步骤(1)中的基础枚举接口,并实现获取枚举中文值的方法;/n(4)定义一个返回值处理类;/n(5)补全返回值中的枚举中文值;/n(6)定义系统拦截器,配置该拦截器拦截所有系统请求;/n(7)重写步骤(6)中定义的拦截器返回前处理方法,并将处理结果返回。/n

【技术特征摘要】
1.一种英文枚举自动补全中文值的方法,其特征在于,包括以下步骤:
(1)定义基础枚举接口;
(2)对定义的枚举类型扩展一个存储枚举值的属性和存储中文的属性;
(3)枚举类型实现步骤(1)中的基础枚举接口,并实现获取枚举中文值的方法;
(4)定义一个返回值处理类;
(5)补全返回值中的枚举中文值;
(6)定义系统拦截器,配置该拦截器拦截所有系统请求;
(7)重写步骤(6)中定义的拦截器返回前处理方法,并将处理结果返回。


2.根据权利要求1所述的英文枚举自动补全中文值的方法,其特征在于:所...

【专利技术属性】
技术研发人员:刘洋
申请(专利权)人:鲸灵科技股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1