Package org.lwjgl.system
Class LibraryResource
- java.lang.Object
-
- org.lwjgl.system.LibraryResource
-
public final class LibraryResource extends java.lang.Object
Handles loading of native resources in LWJGL. [INTERNAL USE ONLY]This class uses the same mechanism as
Library
for loading shared libraries. The resource name could be an absolute path, or a relative path that is resolved viaorg.lwjgl.librarypath
,java.library.path
, or even the class/module-path. When the resource is detected in the class/module-path, it is extracted automatically toorg.lwjgl.librarypath
via theSharedLibraryLoader
.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.nio.file.Path
load(java.lang.Class<?> context, java.lang.String module, java.lang.String name)
Loads a library resource.static java.nio.file.Path
load(java.lang.Class<?> context, java.lang.String module, java.lang.String name, boolean bundledWithLWJGL)
Loads a library resource.static java.nio.file.Path
load(java.lang.Class<?> context, java.lang.String module, Configuration<java.lang.String> name, java.lang.String... defaultNames)
Loads a library resource usingload(String, String)
with the name specified byname
.static java.nio.file.Path
load(java.lang.Class<?> context, java.lang.String module, Configuration<java.lang.String> name, java.util.function.Supplier<java.nio.file.Path> fallback, java.lang.String... defaultNames)
Loads a library resource usingload
with the name specified byname
.static java.nio.file.Path
load(java.lang.String module, java.lang.String name)
Callsload(Class, String, String)
usingLibraryResource.class
as the context parameter.
-
-
-
Method Detail
-
load
public static java.nio.file.Path load(java.lang.String module, java.lang.String name)
Callsload(Class, String, String)
usingLibraryResource.class
as the context parameter.
-
load
public static java.nio.file.Path load(java.lang.Class<?> context, java.lang.String module, java.lang.String name)
Loads a library resource.- Parameters:
context
- the class to use to discover the library resource in the classpathmodule
- the module to which the resource belongsname
- the resource name- Returns:
- the library resource path
- Throws:
java.lang.IllegalStateException
- if the resource could not be found
-
load
public static java.nio.file.Path load(java.lang.Class<?> context, java.lang.String module, java.lang.String name, boolean bundledWithLWJGL)
Loads a library resource.- Parameters:
context
- the class to use to discover the library resource in the classpathmodule
- the module to which the resource belongsname
- the resource namebundledWithLWJGL
- whether the default LWJGL distribution includes the resource. If true, LWJGL will also try to find the shared library under the<platform>/<arch>/<module>
subfolder.- Returns:
- the library resource path
- Throws:
java.lang.IllegalStateException
- if the resource could not be found
-
load
public static java.nio.file.Path load(java.lang.Class<?> context, java.lang.String module, Configuration<java.lang.String> name, java.lang.String... defaultNames)
Loads a library resource usingload(String, String)
with the name specified byname
. Ifname
is not set,load(String, String)
will be called with the names specified bydefaultNames
. The first successful will be returned.- Parameters:
name
- aConfiguration
that specifies the resource namedefaultNames
- the default resource name(s)- Returns:
- the library resource path
- Throws:
java.lang.IllegalStateException
- if the resource could not be found
-
load
public static java.nio.file.Path load(java.lang.Class<?> context, java.lang.String module, Configuration<java.lang.String> name, @Nullable java.util.function.Supplier<java.nio.file.Path> fallback, java.lang.String... defaultNames)
Loads a library resource usingload
with the name specified byname
. Ifname
is not set,load
will be called with the names specified bydefaultNames
. The first successful will be returned. If the resource could not be found, thefallback
will be called.- Parameters:
name
- aConfiguration
that specifies the resource namefallback
- fallback to use if everything else failsdefaultNames
- the default resource name(s)- Returns:
- the library resource path
- Throws:
java.lang.UnsatisfiedLinkError
- if the resource could not be found
-
-