Returning a runtime type loaded from an archive in a module system
First Claim
1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, cause performance of operations comprising:
- identifying, by a class loader implemented in a first runtime environment, an archived runtime type loaded into an archive from a module source;
identifying a particular package associated with the archived runtime type;
determining whether the particular package is defined to any runtime module, of a module system, that is defined to (i) the class loader or (ii) any class loader in a class loader hierarchy to which the class loader delegates, in the first runtime environment;
responsive at least to determining that the particular package is not defined to any runtime module that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates, in the first runtime environment;
refraining from loading any runtime type based on the archived runtime type from the archive;
identifying, by the class loader implemented in a second runtime environment, the archived runtime type loaded into the archive from the module source;
determining whether the particular package is defined to any runtime module, of the module system, that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates, in the second runtime environment;
responsive at least to determining that the particular package is defined to a runtime module that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates, in the second runtime environment;
returning directly or indirectly, by the class loader, a runtime type loaded based on the archived runtime type from the archive; and
wherein runtime type visibility is enforced by the module system based at least in part on readability of one or more runtime modules as defined in the module system.
1 Assignment
0 Petitions
Accused Products
Abstract
Returning a runtime type loaded from an archive in a module system is disclosed. Operations include (a) identifying, by a class loader implemented in a runtime environment, an archived runtime type loaded into an archive from a module source; (b) identifying a particular package associated with the archived runtime type; (c) determining that the particular package is defined to a runtime module that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates; and (d) returning directly or indirectly, by the class loader, a runtime type loaded based on the archived runtime type from the archive.
199 Citations
20 Claims
-
1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, cause performance of operations comprising:
-
identifying, by a class loader implemented in a first runtime environment, an archived runtime type loaded into an archive from a module source; identifying a particular package associated with the archived runtime type; determining whether the particular package is defined to any runtime module, of a module system, that is defined to (i) the class loader or (ii) any class loader in a class loader hierarchy to which the class loader delegates, in the first runtime environment; responsive at least to determining that the particular package is not defined to any runtime module that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates, in the first runtime environment;
refraining from loading any runtime type based on the archived runtime type from the archive;identifying, by the class loader implemented in a second runtime environment, the archived runtime type loaded into the archive from the module source; determining whether the particular package is defined to any runtime module, of the module system, that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates, in the second runtime environment; responsive at least to determining that the particular package is defined to a runtime module that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates, in the second runtime environment;
returning directly or indirectly, by the class loader, a runtime type loaded based on the archived runtime type from the archive; andwherein runtime type visibility is enforced by the module system based at least in part on readability of one or more runtime modules as defined in the module system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, cause performance of operations comprising:
-
identifying, by a class loader implemented in a runtime environment, an archived runtime type loaded into an archive from a namespace; determining whether the archived runtime type is associated with any package that is defined to any runtime module, of a module system, that is defined to (i) the class loader or (ii) any class loader in a class loader hierarchy to which the class loader delegates; and responsive at least to (a) determining that the archived runtime type is not associated with any package that is defined to any runtime module that is defined to (i) the class loader or (ii) any class loader in the class loader hierarchy to which the class loader delegates, and (b) determining that the archived runtime type was loaded into the archive from the namespace associated with a parent class loader of the class loader; loading, by the parent class loader, a runtime type based on the archived runtime type from the archive; passing the runtime type from the parent class loader to the class loader; returning, by the class loader, the runtime type loaded based on the archived runtime type from the archive; and wherein runtime type visibility is enforced by the module system based at least in part on readability of one or more runtime modules as defined in the module system. - View Dependent Claims (12, 13, 14)
-
-
15. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, cause performance of operations comprising:
-
identifying, by a class loader implemented in a first runtime environment, an archived runtime type loaded into an archive from a module source; identifying a particular package associated with the archived runtime type; determining whether the particular package is defined to any runtime module, of a module system, that is defined to (i) the class loader or (ii) any class loader in a class loader hierarchy to which the class loader delegates, in the first runtime environment; responsive at least to determining that the particular package is defined to a runtime module that is defined to a parent class loader of the class loader, in the class loader hierarchy to which the class loader delegates, in the first runtime environment; loading, by the parent class loader, a runtime type based on the archived runtime type from the archive; passing the runtime type from the parent class loader to the class loader; returning, by the class loader, the runtime type loaded based on the archived runtime type from the archive; wherein runtime type visibility is enforced by the module system based at least in part on readability of one or more runtime modules as defined in the module system. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification