Interface ClassDefiner
public interface ClassDefiner
Object used for runtime class definition.
-
Method Summary
Modifier and TypeMethodDescription@NotNull Class<?>defineClass(@NonNull MethodHandles.Lookup owner, @Nullable String name, byte @NonNull [] bytecode) Uns Defines a class which may be garbage-collected.@NotNull Class<?> @NotNull []defineClasses(@NonNull MethodHandles.Lookup owner, byte @NonNull [] @NotNull ... bytecodes) Defines multiple classes which may be garbage-collected.defineClasses(@NonNull MethodHandles.Lookup owner, @NonNull List<byte @NotNull []> bytecodes) Defines multiple classes which may be garbage-collected.defineClasses(@NonNull MethodHandles.Lookup owner, @NonNull Map<@Nullable String, byte @NotNull []> namedBytecode) Defines multiple classes which may be garbage-collected.@NotNull Class<?> @NotNull []defineClasses(@NonNull MethodHandles.Lookup owner, @NonNull Pair<@Nullable String, byte @NotNull []>... bytecodes) Defines multiple classes which may be garbage-collected.
-
Method Details
-
defineClass
@NotNull @NotNull Class<?> defineClass(@NonNull MethodHandles.Lookup owner, @Nullable @Nullable String name, byte @NonNull [] bytecode) Uns Defines a class which may be garbage-collected.- Parameters:
owner- lookup whose access rights will be used for class definitionname- name of the defined classbytecode- bytecode of the class- Returns:
- defined class
-
defineClasses
@NotNull @NotNull Class<?> @NotNull [] defineClasses(@NonNull MethodHandles.Lookup owner, @NonNull @NonNull Pair<@Nullable String, byte @NotNull []>... bytecodes) Defines multiple classes which may be garbage-collected.- Parameters:
owner- lookup whose access rights will be used for class definitionbytecodes- pairs whose first values are canonical class names and the second values are those classes' bytecodes- Returns:
- defined class in the order their data was passed
-
defineClasses
@NotNull @NotNull Class<?> @NotNull [] defineClasses(@NonNull MethodHandles.Lookup owner, byte @NonNull [] @NotNull ... bytecodes) Defines multiple classes which may be garbage-collected.- Parameters:
owner- lookup whose access rights will be used for class definitionbytecodes- bytecodes of the classes- Returns:
- defined class in the order their data was passed
-
defineClasses
@NotNull @NotNull List<@NotNull Class<?>> defineClasses(@NonNull MethodHandles.Lookup owner, @NonNull @NonNull List<byte @NotNull []> bytecodes) Defines multiple classes which may be garbage-collected.- Parameters:
owner- lookup whose access rights will be used for class definitionbytecodes- bytecodes of the classes- Returns:
- defined class in the order their data was passed
-
defineClasses
@NotNull @NotNull Map<@NotNull String,@NotNull Class<?>> defineClasses(@NonNull MethodHandles.Lookup owner, @NonNull @NonNull Map<@Nullable String, byte @NotNull []> namedBytecode) Defines multiple classes which may be garbage-collected.- Parameters:
owner- lookup whose access rights will be used for class definitionnamedBytecode- map containing bytecodes by their classes' canonical names- Returns:
- defined classes by their names
-