[發(fā)明專利]基于字節(jié)碼增強技術(shù)實現(xiàn)JAVA模式匹配特性的方法有效
| 申請?zhí)枺?/td> | 201911275297.1 | 申請日: | 2019-12-12 |
| 公開(公告)號: | CN111190585B | 公開(公告)日: | 2023-05-02 |
| 發(fā)明(設(shè)計)人: | 童緒祥;范淵 | 申請(專利權(quán))人: | 杭州安恒信息技術(shù)股份有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41 |
| 代理公司: | 杭州賽科專利代理事務(wù)所(普通合伙) 33230 | 代理人: | 郭薇;馮年群 |
| 地址: | 310051 浙江省*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 字節(jié) 增強 技術(shù) 實現(xiàn) java 模式 匹配 特性 方法 | ||
1.一種基于字節(jié)碼增強技術(shù)實現(xiàn)JAVA模式匹配特性的方法,其特征在于:所述方法包括以下步驟:
步驟1:基于JAVA的語法規(guī)則定義JAVA可識別的模式匹配語法結(jié)構(gòu);
步驟2:自定義注解與注解處理器,完成編譯期的代碼增強,包括以下步驟:
步驟2.1:自定義注解;所述注解添加在類構(gòu)造器上;
步驟2.2:編寫注解處理器,用于在編譯期自動執(zhí)行處理器代理、識別被注解的類并增強,包括以下步驟:
步驟2.2.1:加載被注解類的源代碼,解析構(gòu)造器;
步驟2.2.2:若構(gòu)造器存在參數(shù),則進行下一步,否則,進行步驟2.2.6;
步驟2.2.3:若構(gòu)造器參數(shù)在類屬性中,則直接進行下一步,否則,增加類屬性后進行下一步;
步驟2.2.4:補全類結(jié)構(gòu)器;
步驟2.2.5:直接添加構(gòu)造器匹配器;
步驟2.2.6:添加類型匹配器,生成字節(jié)碼;
步驟3:對JAVA內(nèi)置功能進行擴展,擴展包括:
正則表達式的字符串類型模式匹配擴展到符合任意數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu)深度匹配;
switch-case關(guān)鍵字僅能實現(xiàn)的基本數(shù)據(jù)類型判斷擴展到任意數(shù)據(jù)結(jié)構(gòu)的邏輯判斷;
步驟4:實現(xiàn)JAVA模式匹配。
2.根據(jù)權(quán)利要求1所述的一種基于字節(jié)碼增強技術(shù)實現(xiàn)JAVA模式匹配特性的方法,其特征在于:所述步驟1中,任一模式匹配語法結(jié)構(gòu)包括匹配器及若干與其對應(yīng)的邏輯分支。
3.根據(jù)權(quán)利要求1所述的一種基于字節(jié)碼增強技術(shù)實現(xiàn)JAVA模式匹配特性的方法,其特征在于:所述步驟2.1中,被添加的類可以完成屬性增加、構(gòu)造器補全、類型匹配和構(gòu)造器匹配。
4.根據(jù)權(quán)利要求1所述的一種基于字節(jié)碼增強技術(shù)實現(xiàn)JAVA模式匹配特性的方法,其特征在于:所述步驟2.2.5中,若構(gòu)造方法參數(shù)不為空,則同步生成一個構(gòu)造器匹配器,根據(jù)構(gòu)造器結(jié)構(gòu)編寫模式表達式,完成實例內(nèi)部數(shù)據(jù)的匹配判斷。
5.根據(jù)權(quán)利要求1所述的一種基于字節(jié)碼增強技術(shù)實現(xiàn)JAVA模式匹配特性的方法,其特征在于:所述步驟4中,實現(xiàn)的JAVA模式匹配包括通配符匹配、序列集合匹配、正則表達式匹配、類構(gòu)造器匹配和數(shù)據(jù)深度匹配。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州安恒信息技術(shù)股份有限公司,未經(jīng)杭州安恒信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911275297.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





