CN108196833B - AOP proxy framework implementation method, storage medium, electronic device and system - Google Patents
AOP proxy framework implementation method, storage medium, electronic device and system Download PDFInfo
- Publication number
- CN108196833B CN108196833B CN201810017909.6A CN201810017909A CN108196833B CN 108196833 B CN108196833 B CN 108196833B CN 201810017909 A CN201810017909 A CN 201810017909A CN 108196833 B CN108196833 B CN 108196833B
- Authority
- CN
- China
- Prior art keywords
- business
- intercepted
- service
- item
- aop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses an implementation method, a storage medium, electronic equipment and a system of an AOP agent framework, and relates to the field of AOP agents. The method comprises the following steps: registering a service class in an AOP agent framework, traversing each constructor and service method of the service class when the AOP agent framework monitors that the registered service class is loaded, and defining the traversed constructor or service method as an item to be intercepted; forming an interception chain of the current project to be intercepted by all interceptors corresponding to the service project of the current project to be intercepted in all the interceptors of the AOP agent framework; and intercepting the business item of the current item to be intercepted according to the interception chain of the current item to be intercepted. When the interception function of the interceptor is modified, the invention does not need to compile the service class again, thereby obviously simplifying the operation flow of intercepting the service class by the AOP and greatly improving the flexibility of the AOP.
Description
Technical Field
The invention relates to the field of AOP proxy, in particular to an implementation method, a storage medium, electronic equipment and a system of an AOP proxy framework.
Background
AOP (Aspect orthogonal Programming) is a complement of object-oriented Programming and is widely applied to processing some system-level services with cross-cut property, such as transaction management, security inspection, caching, object pool management, and the like. By utilizing the AOP, each business item of the business class (the business class comprises a constructor and a business method, and the business method comprises a static method and a dynamic method) can be intercepted, so that the coupling degree between each part of the business class is reduced, the reusability of a program is improved, and the development efficiency is improved. The key point of AOP realization is the AOP agent class (i.e. interceptor) automatically created by the AOP framework, which can be divided into two major classes, static agent and dynamic agent:
static agent refers to compiling by using a command provided by an AOP framework, so that an AOP agent class and a service class are generated together in a compiling stage, and therefore, the method is also called as compiling-time enhancement;
the dynamic proxy generates the AOP proxy class and the service class together in the memory "temporarily" by using JDK (Java software development kit) dynamic proxy, CGLIB (Code Generation Library), and the like at runtime, and is also called runtime enhancement.
In the field of Java language, mature and powerful AOPs are implemented with AspectJ (a profile-oriented framework) and Spring AOPs, which both provide the implementation of a whole set of AOP mechanisms. However, AspectJ and Spring AOP have the following defects:
AspectJ generates an AOP proxy class for service application in a compiling-time enhancing mode, and because the AOP proxy class is generated during compiling, if the intercepting function of the AOP proxy class needs to be modified, the service class needs to be recompiled to apply a new AOP proxy class; the operation flow of recompiling the service class is complex and has poor flexibility.
The Spring AOP generates an AOP proxy class for the service application in a run-time enhanced manner, that is, the logic of the AOP proxy class generated by the Spring AOP and the service logic are located in the same application, so that the service class also needs to be recompiled if the interception function of the AOP proxy class needs to be modified, that is, the operation flow is also complex and the flexibility is poor.
Disclosure of Invention
Aiming at the defects in the prior art, the invention solves the technical problems that: how to simplify the operation flow of intercepting the business class by the AOP. When the interception function of the interceptor is modified, the business class does not need to be compiled again, and the flexibility of the AOP is obviously improved.
In order to achieve the above object, the method for implementing an AOP proxy framework provided by the present invention comprises the following steps:
s1: in the AOP proxy framework, registering the service class, and going to S2;
s2: when the AOP agent framework monitors that the service class registered in S1 is loaded, go to S3;
s3: traversing each constructor and business method of the business class, defining the traversed constructor or business method as an item to be intercepted, wherein each item to be intercepted comprises at least 2 business items, and turning to S4;
s4: forming an interception chain of the current project to be intercepted by all interceptors corresponding to the business project of the current project to be intercepted in all the interceptors of the AOP agent framework, configuring and loading all business classes registered in S1 by the interceptors after compiling is completed, and turning to S5;
s5: and intercepting the business item of the current item to be intercepted according to the interception chain of the current item to be intercepted.
On the basis of the above technical solution, the process of configuration and loading after the completion of compiling all the service classes registered in S1 by the interceptor in S4 includes: after compiling all the service classes, configuring an interceptor according to the following rules: the interceptors comprise construction interceptors corresponding to the constructors of the business classes and method interceptors corresponding to the business methods of the business classes; associating each interceptor with 1 business item of the corresponding constructor or business method; and loading the configured interceptor to the AOP proxy framework.
On the basis of the above technical solution, the service method in S3 includes a static method and a dynamic method of a service class.
On the basis of the above technical solution, the process of S5 includes: each interceptor in the interception chain of the current project to be intercepted is associated with the current project to be intercepted, and when a business project in the current project to be intercepted is executed, the business project is intercepted according to the interceptor corresponding to the executed business project in the interception chain.
The storage medium provided by the invention is stored with a computer program, and the computer program realizes the implementation method of the AOP proxy framework when being executed by a processor.
The electronic device provided by the invention comprises a memory and a processor, wherein the memory is stored with a computer program running on the processor, and the processor executes the computer program to realize the implementation method of the AOP proxy framework.
The system for realizing the AOP agent framework comprises a service class registration module, a service class loading monitoring module, a service class traversal module, an interception chain generation module and a service project interception module;
the service class registration module is used for: registering a service class in an AOP agent framework;
the business class loading monitoring module is used for: when the AOP agent framework monitors that the service class registered in the service class registration module is loaded, sending a service class traversal signal to the service class traversal module;
the service class traversal module is used for: after receiving a service class traversal signal, traversing each constructor and service method of a service class, defining the traversed constructor or service method as items to be intercepted, wherein each item to be intercepted comprises at least 2 service items, and sending an interception chain generation signal to an interception chain generation module;
the interception chain generation module is used for: after receiving the interception chain generation signal, in all interceptors of the AOP proxy framework, forming an interception chain of the current item to be intercepted by all interceptors corresponding to the service item of the current item to be intercepted, configuring and loading all service classes registered in the service class registration module by the interceptors after compiling is completed, and sending a service item interception signal to the service item interception module;
the business item intercepting module is used for: and after receiving the business item interception signal, intercepting the business items of the current item to be intercepted according to the interception chain of the current item to be intercepted.
On the basis of the above technical solution, the system further includes an interceptor configuration module, which is configured to: after compiling all the service classes, configuring an interceptor according to the following rules: the interceptors comprise construction interceptors corresponding to the constructors of the business classes and method interceptors corresponding to the business methods of the business classes; associating each interceptor with 1 business item of the corresponding constructor or business method; and loading the configured interceptor to the AOP proxy framework.
On the basis of the technical scheme, the service method in the service class traversal module comprises a static method and a dynamic method of the service class.
On the basis of the technical scheme, the work flow of the business project intercepting module comprises the following steps: each interceptor in the interception chain of the current project to be intercepted is associated with the current project to be intercepted, and when a business project in the current project to be intercepted is executed, the business project is intercepted according to the interceptor corresponding to the executed business project in the interception chain.
Compared with the prior art, the invention has the advantages that:
as can be seen from the descriptions of S1-S5, the present invention can configure and load interceptors individually according to the rules of configuring the interceptors that are set autonomously. Compared with the common generation of the AOP proxy class and the service class in the prior art, all the interceptors are configured and loaded after the service class is compiled; therefore, when the interception function of the interceptor is modified, the invention does not need to compile the service class again, thereby obviously simplifying the operation flow of intercepting the service class by the AOP and greatly improving the flexibility of the AOP.
Drawings
FIG. 1 is a flow chart of a method for implementing an AOP proxy framework in an embodiment of the present invention;
fig. 2 is a connection block diagram of an electronic device in an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples.
Referring to fig. 1, an implementation method of an AOP proxy framework in an embodiment of the present invention includes the following steps:
s1: in the AOP proxy framework (SkyEye AOP), the service class is registered, and the flow goes to S2.
S2: when the AOP agent framework detects that the service class registered in S1 is loaded by the JVM (Java Virtual Machine), the process goes to S3.
S3: and traversing each constructor and business method (static method and dynamic method of the business class) of the business class, defining the traversed constructor or business method as an item to be intercepted, wherein each item to be intercepted comprises at least 2 business items, and turning to S4.
S4: in all interceptors of the AOP agent framework (all interceptors are configured and loaded after compiling all service classes registered in S1, and in practical applications, it is sufficient to configure and load the interceptors before S4), all interceptors corresponding to the service item of the current item to be intercepted form an interception chain of the current item to be intercepted, that is, the interception chain includes all interceptors corresponding to the service item of the current item to be intercepted, and the process goes to S5.
S4 is preceded by the steps of: after compiling all the service classes, configuring an interceptor according to the following rules: the interceptors comprise construction interceptors corresponding to the constructors of the business classes and method interceptors corresponding to the business methods of the business classes; and associating the interception logic of each interceptor with 1 service item of the corresponding constructor or service method (namely, the interceptor is used for intercepting the associated service item), and loading the configured interceptor to the AOP proxy framework.
S5: and intercepting the business item of the current item to be intercepted according to the interception chain of the current item to be intercepted.
The flow of S5 includes: each interceptor in the interception chain of the current item to be intercepted is associated with the current item to be intercepted (namely, an interception logic of the interceptor is woven in the current item to be intercepted), and when a business item in the current item to be intercepted is executed, the business item is intercepted according to the interceptor corresponding to the executed business item in the interception chain.
The embodiment of the invention also provides a storage medium, wherein a computer program is stored on the storage medium, and the implementation method of the AOP proxy framework is realized when the computer program is executed by a processor. The storage medium includes various media capable of storing program codes, such as a usb disk, a removable hard disk, a ROM (Read-Only Memory), a RAM (Random Access Memory), a magnetic disk, or an optical disk.
Referring to fig. 2, an embodiment of the present invention further provides an electronic device, which includes a memory and a processor, where the memory stores a computer program running on the processor, and the processor, when executing the computer program, implements the implementation method of the AOP proxy framework.
The system for realizing the AOP agent framework in the embodiment of the invention comprises a service class registration module, a service class loading monitoring module, a service class traversal module, an interceptor configuration module, an interception chain generation module and a service project interception module.
The service class registration module is used for: in the AOP proxy framework, the service class is registered.
The business class loading monitoring module is used for: and when monitoring that the JVM loads the service class registered in the service class registration module, the AOP agent framework sends a service class traversal signal to the service class traversal module.
The service class traversal module is used for: after receiving the service class traversal signal, traversing each constructor and service method of the service class, defining the traversed constructor or service method (the service method comprises a static method and a dynamic method of the service class) as an item to be intercepted, wherein each item to be intercepted comprises at least 2 service items, and sending an interception chain generation signal to an interception chain generation module.
The interceptor configuration module is to: after compiling all the service classes, configuring an interceptor according to the following rules: the interceptors comprise construction interceptors corresponding to the constructors of the business classes and method interceptors corresponding to the business methods of the business classes; associating each interceptor with 1 business item of the corresponding constructor or business method; and loading the configured interceptor to the AOP proxy framework.
The interception chain generation module is used for: and after receiving the interception chain generation signal, in all the interceptors of the AOP proxy framework, forming an interception chain of the current item to be intercepted by all the interceptors corresponding to the service item of the current item to be intercepted, configuring and loading all the service classes registered in the service class registration module by the interceptors after compiling is completed, and sending a service item interception signal to the service item interception module.
The business item intercepting module is used for: after receiving a business item interception signal, intercepting a business item of a current item to be intercepted according to an interception chain of the current item to be intercepted; the specific work flow comprises the following steps: each interceptor in the interception chain of the current project to be intercepted is associated with the current project to be intercepted, and when a business project in the current project to be intercepted is executed, the business project is intercepted according to the interceptor corresponding to the executed business project in the interception chain.
It should be noted that: in the system provided in the embodiment of the present invention, when performing inter-module communication, only the division of each functional module is illustrated, and in practical applications, the above function distribution may be completed by different functional modules as needed, that is, the internal structure of the system is divided into different functional modules to complete all or part of the above described functions.
Further, the present invention is not limited to the above-mentioned embodiments, and it will be apparent to those skilled in the art that various modifications and improvements can be made without departing from the principle of the present invention, and these modifications and improvements are also considered to be within the scope of the present invention. Those not described in detail in this specification are within the skill of the art.
Claims (6)
1. A method for implementing an AOP proxy framework is characterized by comprising the following steps:
s1: in the AOP proxy framework, registering the service class, and going to S2;
s2: when the AOP agent framework monitors that the service class registered in the S1 is loaded, the operation goes to S3;
s3: traversing each constructor and business method of the business class, defining the traversed constructor or business method as an item to be intercepted, wherein each item to be intercepted comprises at least 2 business items, and turning to S4;
s4: forming an interception chain of the current project to be intercepted by all interceptors corresponding to the business project of the current project to be intercepted in all the interceptors of the AOP agent framework, configuring and loading all business classes registered in S1 by the interceptors after compiling is completed, and turning to S5;
s5: intercepting the business items of the current item to be intercepted according to the interception chain of the current item to be intercepted;
the configuration and loading process of the interceptor after compiling all the service classes registered in S1 in S4 includes: after compiling all the service classes, configuring an interceptor according to the following rules: the interceptors comprise construction interceptors corresponding to the constructors of the business classes and method interceptors corresponding to the business methods of the business classes; associating each interceptor with 1 business item of the corresponding constructor or business method; loading the configured interceptor to an AOP agent framework;
the flow of S5 includes: each interceptor in the interception chain of the current project to be intercepted is associated with the current project to be intercepted, and when a business project in the current project to be intercepted is executed, the business project is intercepted according to the interceptor corresponding to the executed business project in the interception chain.
2. The method for implementing an AOP proxy framework according to claim 1, wherein: the service method in S3 includes a static method and a dynamic method of the service class.
3. A storage medium having a computer program stored thereon, characterized in that: which computer program, when being executed by a processor, carries out the method of claim 1 or 2.
4. An electronic device comprising a memory and a processor, the memory having stored thereon a computer program that runs on the processor, characterized in that: the processor, when executing the computer program, implements the method of claim 1 or 2.
5. An implementation system of an AOP proxy framework is characterized in that: the system comprises a business class registration module, a business class loading monitoring module, a business class traversal module, an interception chain generation module and a business project interception module;
the service class registration module is used for: registering a service class in an AOP agent framework;
the business class loading monitoring module is used for: when the AOP agent framework monitors that the service class registered in the service class registration module is loaded, sending a service class traversal signal to the service class traversal module;
the service class traversal module is used for: after receiving a service class traversal signal, traversing each constructor and service method of a service class, defining the traversed constructor or service method as items to be intercepted, wherein each item to be intercepted comprises at least 2 service items, and sending an interception chain generation signal to an interception chain generation module;
the interception chain generation module is used for: after receiving the interception chain generation signal, in all interceptors of the AOP proxy framework, forming an interception chain of the current item to be intercepted by all interceptors corresponding to the service item of the current item to be intercepted, configuring and loading all service classes registered in the service class registration module by the interceptors after compiling is completed, and sending a service item interception signal to the service item interception module;
the business item intercepting module is used for: after receiving a business item interception signal, intercepting a business item of a current item to be intercepted according to an interception chain of the current item to be intercepted;
the system also includes an interceptor configuration module for: after compiling all the service classes, configuring an interceptor according to the following rules: the interceptors comprise construction interceptors corresponding to the constructors of the business classes and method interceptors corresponding to the business methods of the business classes; associating each interceptor with 1 business item of the corresponding constructor or business method; loading the configured interceptor to an AOP agent framework;
the workflow of the business project intercepting module comprises the following steps: each interceptor in the interception chain of the current project to be intercepted is associated with the current project to be intercepted, and when a business project in the current project to be intercepted is executed, the business project is intercepted according to the interceptor corresponding to the executed business project in the interception chain.
6. The system for implementing an AOP proxy framework according to claim 5, wherein: the business method in the business class traversal module comprises a static method and a dynamic method of the business class.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810017909.6A CN108196833B (en) | 2018-01-09 | 2018-01-09 | AOP proxy framework implementation method, storage medium, electronic device and system |
PCT/CN2018/081290 WO2019136844A1 (en) | 2018-01-09 | 2018-03-30 | Aop proxy framework implementation method and system, and storage medium and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810017909.6A CN108196833B (en) | 2018-01-09 | 2018-01-09 | AOP proxy framework implementation method, storage medium, electronic device and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108196833A CN108196833A (en) | 2018-06-22 |
CN108196833B true CN108196833B (en) | 2021-02-02 |
Family
ID=62588731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810017909.6A Active CN108196833B (en) | 2018-01-09 | 2018-01-09 | AOP proxy framework implementation method, storage medium, electronic device and system |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108196833B (en) |
WO (1) | WO2019136844A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780883A (en) * | 2018-07-30 | 2020-02-11 | 网宿科技股份有限公司 | Method call chain tracking method, electronic device, and computer-readable storage medium |
CN110895468B (en) * | 2018-08-22 | 2024-10-18 | 北京京东尚科信息技术有限公司 | Method and device for realizing service enhancement |
CN109947415A (en) * | 2019-02-28 | 2019-06-28 | 东软集团股份有限公司 | Configuration method, device, storage medium and the electronic equipment of blocker |
CN112788075B (en) * | 2019-11-07 | 2024-04-09 | 北京京东尚科信息技术有限公司 | Business service monitoring method and device |
CN112346778B (en) * | 2020-10-28 | 2022-02-08 | 常州微亿智造科技有限公司 | Optimization method for automatically generating byte codes during compiling of Java program |
CN112926049A (en) * | 2021-03-25 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | Information risk prevention and control method, device and equipment |
CN113672205B (en) * | 2021-08-25 | 2022-06-03 | 广州方舟信息科技有限公司 | Workflow framework based on business event driving |
CN114205156A (en) * | 2021-12-13 | 2022-03-18 | 中国农业银行股份有限公司 | Message detection method and device for tangent plane technology, electronic equipment and medium |
CN116049582B (en) * | 2023-03-31 | 2023-07-04 | 深圳依时货拉拉科技有限公司 | WebView monitoring method, computer device and computer readable storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508668A (en) * | 2011-11-11 | 2012-06-20 | 西安交通大学 | AOP (Aspect Oriented Programming) implementation method of EJB 3 (Enterprise Java Beans 3) containers based on dynamic stack |
CN103793232A (en) * | 2014-02-20 | 2014-05-14 | 浪潮集团山东通用软件有限公司 | Component calling and extending frame implementation method based on AOP |
CN107092488A (en) * | 2017-03-31 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | It is a kind of that application is carried out to bury realization method and system a little without intrusionization |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080141335A1 (en) * | 2006-12-08 | 2008-06-12 | Novell, Inc. | Provisioning software with policy-appropriate capabilities |
CN101276271A (en) * | 2007-03-29 | 2008-10-01 | 北京邮电大学 | Method and interceptor system facing to tangent plane programming |
CN103150155B (en) * | 2011-12-07 | 2016-08-03 | 金蝶软件(中国)有限公司 | Data interception method and device |
US8997042B2 (en) * | 2012-10-15 | 2015-03-31 | Pivotal Software, Inc. | Flexible and run-time-modifiable inclusion of functionality in computer code |
CN106844153B (en) * | 2017-01-20 | 2020-02-11 | 北京奇虎科技有限公司 | Application program operation monitoring method and device and terminal |
-
2018
- 2018-01-09 CN CN201810017909.6A patent/CN108196833B/en active Active
- 2018-03-30 WO PCT/CN2018/081290 patent/WO2019136844A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508668A (en) * | 2011-11-11 | 2012-06-20 | 西安交通大学 | AOP (Aspect Oriented Programming) implementation method of EJB 3 (Enterprise Java Beans 3) containers based on dynamic stack |
CN103793232A (en) * | 2014-02-20 | 2014-05-14 | 浪潮集团山东通用软件有限公司 | Component calling and extending frame implementation method based on AOP |
CN107092488A (en) * | 2017-03-31 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | It is a kind of that application is carried out to bury realization method and system a little without intrusionization |
Also Published As
Publication number | Publication date |
---|---|
WO2019136844A1 (en) | 2019-07-18 |
CN108196833A (en) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108196833B (en) | AOP proxy framework implementation method, storage medium, electronic device and system | |
CN109710384B (en) | Safe Java intelligent contract interpretation execution engine and method | |
US10740115B2 (en) | Structural identification of dynamically-generated, pattern-based classes | |
US9760350B2 (en) | Optimistically assuming types in a dynamically typed language | |
US9043768B2 (en) | System and method for efficient compilation and invocation of function type calls | |
US20040230958A1 (en) | Compiler and software product for compiling intermediate language bytecodes into Java bytecodes | |
US8756616B2 (en) | System and method for reducing the static footprint of mixed-language JAVA classes | |
EP3084598B1 (en) | Execution guards in dynamic programming | |
US20170351490A1 (en) | Seamless high performance interoperability between different type graphs that share a garbage collector | |
CN113254317A (en) | Automatic index generation method and system based on bytecode | |
Golm et al. | Jumping to the meta level: Behavioral reflection can be fast and flexible | |
Zee et al. | Combining theorem proving with static analysis for data structure consistency | |
Griffith et al. | Adding self-healing capabilities to the common language runtime | |
Ballesteros et al. | Batching: A design pattern for efficient and flexible client/server interaction | |
Barik et al. | Optimization of swift protocols | |
Ponge et al. | Jooflux: Hijacking java 7 invokedynamic to support live code modifications | |
Wimmer et al. | Scaling Type-Based Points-to Analysis with Saturation | |
Shin et al. | Arve: aspect-oriented runtime verification environment | |
Binder | Secure and reliable java-based middleware-challenges and solutions | |
CN115686676B (en) | Dynamic calling method and device for object and electronic equipment | |
Duck et al. | Compiling ask constraints | |
CN113419919B (en) | Method for thread monitoring of third party SDK | |
CN114371852B (en) | Compiling method and device | |
Gregersen et al. | Extending eclipse RCP with dynamic update of active plug-ins. | |
Luca et al. | A Metric-Based Approach to Modelling a Virtual Machine for Smart Contract Execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |