ByteBuddy — преобразовать все методы

#java #byte-buddy

#java #байт-приятель

Вопрос:

Я пытаюсь имитировать создание макета с помощью byte buddy. Возможно ли перехватить все методы сразу?

Я попробовал следующее:

 new ByteBuddy()
   .subclass(Object.class)
   .method(nameMatches(".*"))
   .intercept(FixedValue.nullValue())
 

но это, к сожалению, не работает

Комментарии:

1. Как это вопрос сборки?

Ответ №1:

Это возможно, делая это:

 new ByteBuddy()
  .subclass(Object.class)
  .method(any())
  .intercept(StubMethod.INSTANCE);
 

Вы не можете использовать nullValue() , поскольку некоторые методы ничего не возвращают или null не могут быть назначены примитивные типы. Поэтому Byte Buddy выдает исключение для вашего примера, которое указывает на это.