This interface is implemented by all class loaders which load classes from bundles of the Nest repository. You can retrieve an instance of it by using the following:
NestBundleClassLoader nestcl = (NestBundleClassLoader) this.getClass().getClassLoader();That is assuming that the class corresponding to
this
in the scope was loaded by the Nest repository.
This interface servers as the main communication point between classes loaded by the Nest repository and the Nest repository.
Using this interface clients can query various aspects of the current configuration, look up other bundles, and access their contents.
This interface is not to be implemented by clients.
public NestRepositoryBundle | Gets the bundle that this class loader loads the classes from. |
public byte[] | Gets a hash created from this bundle and all class path dependencies included transitively. |
public BundleKey | Gets the bundle key this classloader is associated with. |
public NestBundleStorageConfiguration | Gets the storage configuration that this bundle is part of. |
public Map< | Gets the class loaders for the class path dependencies of this class loader. |
public Map< | Gets the classloaders for the external class path dependencies of this class loader. |
public BundleLookup | Gets the bundle lookup object that can be used to resolve bundles relative to this bundle. |
public default NestRepository | Gets the repository instance that this class loader is part of. |
The returned array is constructed by hashing the hashes of the transitively available bundles on the classpath in deterministic order.
The hash algorithm is implementation dependent.
The returned bundle key can be used to retrieve the bundle storage view that was used to construct this classloader.
The resulting map contains direct dependencies of this bundle, with optional classpath dependencies included if possible.
The result also contains the private dependencies as well, however, it doesn't tell you if a dependency was included through a private dependency or not.
Transitive dependencies are not included, only the direct ones.
The result of this method is the classpath dependencies that were resolved by the Nest repository when this class loader was constructed. The classes loaded by this class loader have the classes accessible through the returned class loaders (transitively).
The resulting map contains the declared external dependencies and their corresponding class loaders.