Interface ClassDefiner


public interface ClassDefiner
Object used for runtime class definition.
  • 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 definition
      name - name of the defined class
      bytecode - 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 definition
      bytecodes - 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 definition
      bytecodes - 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 definition
      bytecodes - 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 definition
      namedBytecode - map containing bytecodes by their classes' canonical names
      Returns:
      defined classes by their names