Package w.util
Class ClassLoaderUtils
java.lang.Object
w.util.ClassLoaderUtils
- Author:
- whilein
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NotNull Class<?>defineClass(@NotNull ClassLoader parent, @NotNull String name, byte @NotNull [] data) @NotNull Class<?>defineSharedClass(@NotNull ClassLoader parent, @NotNull Set<@NotNull ClassLoader> shared, @NotNull String name, byte @NotNull [] data) Создать класс, который может брать классы нескольких загрузчиков классов.findClass(@NonNull ClassLoader classLoader, @NonNull String className, boolean loadIfNeeded) @Nullable Class<?>getClass(@NonNull ClassLoader classLoader, @NonNull String className, boolean loadIfNeeded) @Nullable Class<?>@Nullable Class<?>byte @NotNull []getClassBytes(@NonNull ClassLoader classLoader, @NonNull String className) @Nullable FieldgetField(@NotNull ClassLoader cl, @NotNull String className, @NotNull String fieldName) @Nullable MethodgetMethod(@NotNull ClassLoader cl, @NotNull String className, @NotNull String methodName, @NotNull String @NotNull [] parameters, @NotNull String returnType) @Nullable InputStreamgetResource(@NotNull ClassLoader cl, @NotNull String path) @Nullable InputStreamgetResource(@NotNull String path) byte @NotNull []getResourceBytes(@NonNull ClassLoader classLoader, @NonNull String resourceName) booleanisClassAvailable(@NonNull ClassLoader classLoader, @NonNull String className, boolean loadIfNeeded) booleanisClassAvailable(@NonNull String className) booleanisClassAvailable(@NonNull String className, boolean loadIfNeeded) @NotNull Class<?>byte @NotNull []toByteArray(@NonNull Class<?> type)
-
Constructor Details
-
ClassLoaderUtils
public ClassLoaderUtils()
-
-
Method Details
-
getResource
@Nullable public @Nullable InputStream getResource(@NotNull @NotNull ClassLoader cl, @NotNull @NotNull String path) -
getResource
-
defineClass
@NotNull public @NotNull Class<?> defineClass(@NotNull @NotNull ClassLoader parent, @NotNull @NotNull String name, byte @NotNull [] data) -
toByteArray
- Throws:
IOException
-
getClassBytes
public byte @NotNull [] getClassBytes(@NonNull @NonNull ClassLoader classLoader, @NonNull @NonNull String className) throws IOException - Throws:
IOException
-
getResourceBytes
public byte @NotNull [] getResourceBytes(@NonNull @NonNull ClassLoader classLoader, @NonNull @NonNull String resourceName) throws IOException - Throws:
IOException
-
findClass
@NotNull public @NotNull Optional<@NotNull Class<?>> findClass(@NonNull @NonNull ClassLoader classLoader, @NonNull @NonNull String className, boolean loadIfNeeded) -
findClass
-
loadAny
-
findClass
-
getClass
@Nullable public @Nullable Class<?> getClass(@NonNull @NonNull ClassLoader classLoader, @NonNull @NonNull String className, boolean loadIfNeeded) -
getClass
-
getField
@Nullable public @Nullable Field getField(@NotNull @NotNull ClassLoader cl, @NotNull @NotNull String className, @NotNull @NotNull String fieldName) -
getMethod
-
getClass
-
isClassAvailable
public boolean isClassAvailable(@NonNull @NonNull ClassLoader classLoader, @NonNull @NonNull String className, boolean loadIfNeeded) -
isClassAvailable
-
isClassAvailable
-