Описание тега javapoet

JavaPoet - это Java API для создания исходных файлов.java.
1 ответ

Передать массив как значение параметра аннотации в JavaPoet

Используя JavaPoet я пытаюсь аннотировать класс с аннотацией, которая имеет массив в качестве значения параметра, т.е. @MyCustom(param = { Bar.class, Another.class }) class Foo { } я использую AnnotationSpec.builder И его addMember() метод: List<…
0 ответов

Обнаружение логически дублирующих классов в разных иерархиях классов в Java

У меня есть несколько классов Entity со следующей структурой. class A { ... other fields. static class B { String field1; int field2; C fieldC; static class C { String field3; } } } class X { ... other fields static class B { String field1; int fiel…
12 апр '18 в 21:52
1 ответ

Напишите файл Java с использованием JavaPoet в процессоре аннотаций

Я пытаюсь использовать processingEnv.getFiler() для создания исходного файла. Но я не вижу создания исходного файла. Ниже приведен код, который я использую: public void javaPoetEg() { Filer filer = super.processingEnv.getFiler(); MethodSpec main = M…
10 фев '19 в 09:30
1 ответ

Обработка аннотаций Java: ссылка на сгенерированный тип в другом сгенерированном коде

@GenerateInterface class A {} @GenerateInterface class B { void setA(IA a) {} } Мой процессор аннотаций должен генерировать эти интерфейсы: interface IA {} interface IB { void setA(IA a); } B компилируется нормально с правильным оператором импорта. …
15 май '17 в 11:49
1 ответ

Javapoet суперкласс универсальный

Кто-нибудь знает, как я могу сделать следующее с помощью javapoet public class MyClassGenerated extends MyMapper<OtherClass>{ } Мой код поколения: TypeSpec generateClass() { return classBuilder("MyClassGenerated") .addModifiers(PUBLIC) .superc…
04 май '16 в 13:02
1 ответ

Как добавить ограничения типа в parameterSpec для метода

Я пытаюсь сделать именно то, что говорит заголовок - я хотел бы создать спецификацию метода, которая выглядит примерно так: public void doSomethingWithThis( Container<? extends ImportantInterface> argument ) { //1. Collect UnderPants //2. ... …
05 мар '18 в 09:31
1 ответ

JavaPoet - запись вызова статического универсального метода

Я хочу написать CodeBlock который в основном вызывает статический универсальный метод, но вывод, который я получаю с JavaPoet генерирует ошибки компилятора. Например, задан следующий класс значений auto: @AutoValue public abstract class Test<T&gt…
26 апр '18 в 17:15
1 ответ

Javapoet: писать то же самое с меньшим количеством строк кода (addModifiers)

Итак, у меня есть этот код (с использованием Javapoet Lib): if (myBeautifulBoolean) <-------------------------- theClass = TypeSpec.classBuilder(classe.getName()) .addModifiers(javax.lang.model.element.Modifier.valueOf(classe.getProte().toString(…
27 мар '17 в 21:45
0 ответов

Почему процессор аннотаций не генерирует код?

У меня есть простой процессор аннотаций. @SupportedSourceVersion(SourceVersion.RELEASE_7) @AutoService(Processor.class) public class FirstProcessor extends AbstractProcessor { private Messager messager; private EnumGenerator enumGenerator; private E…
16 июн '17 в 11:03
1 ответ

Создайте поле как анонимный класс с JavaPoet

Я работаю над библиотекой процессора аннотаций и использую JavaPoet для генерации сом-кода Java. Мне нужно сгенерировать класс с полем, объявленным анонимным классом, как следующий код: public class Dummy { private final OnSharedPreferenceChangeList…
24 май '18 в 20:17
0 ответов

Генерация вызова метода с переменным числом аргументов

Я использую JavaPoet для генерации классов по списку полей. Генерация конструктора, который берет этот список полей и превращает его в список параметров, довольно прост с чем-то вроде следующего: val constructor = MethodSpec.constructorBuilder() for…
10 янв '19 в 12:43
1 ответ

Как добавить статический раздел в Java-класс в javapoet

Есть ли в любом случае, чтобы добавить статический блок кода в класс Java, используя библиотеку Javapoet static { // whatever code is needed for initialization goes here }
16 дек '15 в 18:15
1 ответ

Генерация аннотаций с использованием JavaPoet

Я пишу генератор кода с использованием JavaPoet и мне нужно добавить аннотацию к классу Например: package some.package import org.hibernate.annotations.CacheConcurrencyStrategy; import javax.persistence.Entity; import javax.persistence.Cache @Entity…
25 авг '15 в 03:29
1 ответ

Метод сборки с открытым списком параметров с помощью javapoet

Возможно ли с помощью javapoet создать метод с открытым списком параметров? Создать метод с параметром String[] не составит труда: curEnumBuilder.addMethod(MethodSpec.methodBuilder("myMethod") .addParameter(String[].class, "params", Modifier.FINAL) …
11 май '18 в 12:09
1 ответ

Возвращать правильно типизированные объекты при создании класса с использованием javapoet

Я работаю над процессором аннотаций и использую JavaPoet для генерации выходного класса из обработки, но я не могу найти способ заставить сгенерированный метод вернуть правильно типизированный объект. Например, вывод, который я хотел бы получить, вы…
21 сен '18 в 18:58
2 ответа

Как создать символ класса<?> с помощью javapoet

Я хочу создать поле как это: public static Map&lt;String, Class&lt;?&gt;&gt; ID_MAP = new HashMap&lt;String, Class&lt;?&gt;&gt;(); WildcardTypeName.subtypeOf (Object.class) может давать '?' WildcardTypeName.subtypeOf(Class.class) может дать 'Class'
09 ноя '16 в 14:52
1 ответ

Назначить массив для инструкции MethodSpec в JavaPoet?

Я использую JavaPoet для создания кода Java. Я определил следующий массив: String[] testArr = new String[] {"1","2"}; и конструктор: ArrayTypeName stringArray = ArrayTypeName.of(String.class); MethodSpec constroctMethod = MethodSpec.constructorBuild…
28 апр '15 в 16:32
0 ответов

Установить значение поля по аннотации

Я хочу установить значение переменной по аннотации. У меня есть следующий код: public class Foo { @AutoProperty private String bar; //... } Аннотация определяется следующим образом: @Target(ElementType.FIELD) @Retention(RetentionPolicy.SOURCE) publi…
19 ноя '17 в 11:28
1 ответ

Общий параметр JavaPoet

Как бы я сгенерировал метод со следующей подписью? public static &lt;T extends MyClass &amp; MyInterface&gt; MyOtherClass someMethod(T type)
3 ответа

Строка java.lang.ClassCastException в JavaPoet.FieldSpec

Я использую JavaPoet API для создания исходного кода. Тем не менее, в какой-то момент я извлекаю требуемые данные из xml, который представляет собой готовую строку для создания полей, затем я сохраняю строку в Object, а затем приводю объект в FieldS…
01 апр '16 в 08:30