Есть ли способ для автоматического построения (Joshua Bloch's Builder Pattern) создания для классов в Eclipse? Например, опция в меню, плагин или ... Я не мог найти ничего в Refactor
.Автоматически создавать построитель для класса в Eclipse
ответ
Возможно, я опаздываю на вечеринку.
Eclipse самостоятельно не предоставляет способ генерации кода для поддержки шаблона построителя. Однако он может быть расширен через плагины для повышения функциональности.
Существует этот плагин, который я использую это:
https://code.google.com/p/bpep/
Поскольку выше ссылка может стать недействительной в будущем, я сделал поиск, а также обнаружил, что он доступен по адресу: https://github.com/henningjensen/bpep
К сожалению, Google Code закрывается, поэтому эта ссылка, скорее всего, станет недействительной через несколько месяцев. Этот проект доступен где-то еще? –
@TagirValeev: Ответ обновлен. – Khanna111
К сожалению, этот плагин, похоже, больше не работает. Он создает построитель, но, похоже, не может перечислить поля. –
Вы можете добавить свое собственное окно шаблона -> Настройки -> Java -> Редактор -> Шаблоны и это будет активироваться с предложением контента, но не реорганизовывать действия
Я не думаю, что вы могли бы написать шаблон для строителя шаблон. Даже если это сработает, это плохая идея, потому что шаблоны не предоставляют способ обновления, вам придется вручную удалить код и повторно применить шаблон. –
Вы можете посмотреть на lombok аннотации к генерировать строителей без кода котельной плиты. Например:
@Builder
public class MyPojo {
private String name;
}
MyPojoBuilder.builder().name("yourame").build();
Ограничение состоит в том, что это не работает с абстрактными классами.
Определения +1 для того, чтобы направлять меня в отличный проект, который я никогда раньше не видел. Это решает проблему и упрощает некоторые другие проблемы с генерированием кода шаблона :). –
Впечатляющие возможности. Интересно, почему ломбок не популярен? –
Это действительно не ответ на вопрос OP, хотя ... – kryger
Попробуйте https://github.com/vojtek/write-it-once
package ${cls.package.name};
public class ${cls.shortName}Builder {
public static ${cls.name}Builder builder() {
return new ${cls.name}Builder();
}
<% for(field in cls.fields) {%>
private ${field.type.name} ${field.name};
<% } %>
<% for(field in cls.fields) {%>
public ${cls.name}Builder ${field.name}(${field.type.name} ${field.name}) {
this.${field.name} = ${field.name};
return this;
}
<% } %>
public ${cls.name} build() {
final ${cls.name} data = new ${cls.name}();
<% for(field in cls.fields) {%>
data.${field.setter.name}(this.${field.name});
<% } %>
return data;
}
}
Я в настоящее время использую Спарк Builder Gener ator с выпуском Eclipse Neon.1a (4.6.1), и он работает хорошо. не https://marketplace.eclipse.org/content/sparkbuildergenerator и https://github.com/helospark/SparkBuilderGenerator
- 1. Создавать автоматически только геттеры в Eclipse
- 2. Автоматически создавать testcode из класса (баночки
- 3. Как автоматически создавать переопределяющие реализации базового класса?
- 4. Автоматически создавать банку из папки плагина под Eclipse
- 5. Автоматически создавать ярлык для файла
- 6. Автоматически создавать среду для ворчания
- 7. Как автоматически создавать файл .jar в проекте Java Eclipse
- 8. Автоматически создавать экземпляр наследств
- 9. Как заставить построитель Eclipse Ant использовать компилятор, встроенный в Eclipse?
- 10. Автоматически создавать псевдоним в linux
- 11. Автоматически создавать таймер в Netbeans
- 12. Автоматически создавать кнопки в PDF
- 13. Автоматически создавать страницы
- 14. Автоматически создавать сценарии Gatling
- 15. Автоматически создавать классы в phpstorm?
- 16. Автоматически создавать App.Config
- 17. Sharepoint: автоматически создавать подпапки
- 18. Автоматически создавать объект
- 19. Автоматически создавать действительные ссылки
- 20. Автоматически создавать .OBJDIR подкаталоги
- 21. Автоматически создавать пользовательские JavaDoc комментарии для переопределенных методов
- 22. Автоматически создавать резюме TextField
- 23. Автоматически создавать Email
- 24. Автоматически создавать требования. Txt
- 25. Автоматически создавать соответствующую модель
- 26. Как автоматически создавать переменные?
- 27. автоматически создавать родственную модель
- 28. Eclipse и ColdFusion 9 - построитель отчетов?
- 29. Можно ли автоматически создать теги javadoc для всего проекта Eclipse?
- 30. Как автоматически создавать отсутствующие папки для ImageOutputStream?
Быстрый поиск Google для 'затмить плагин строитель pattern' получил меня (среди прочих) https://code.google.com/p/fluent-builders-generator-eclipse-plugin/ –
Если вы можете как-то добиться этого, создав шаблон, обработка аннотаций - единственное, что я могу придумать. Он позволяет создавать аннотации, такие как '@ Build', а затем создавать процессор для поиска этой аннотации в исходном коде, вызывать ошибку, если нет класса строителя (необязательно) и разрешить клиенту генерировать код построителя подобно тому, как один автоматически объявлял нереализованные методы. Что касается плагинов, я уверен, что вы уже знаете правила /: Это отстой, но вы не можете запрашивать инструменты здесь –
@Dirk - Мне не нравится ваш ответ. Невозможно сфокусировать комментарии, но я фактически даю вам -1. Может быть, вы не должны быть счастливы только с чистой ссылкой на ссылку, найденную Google. Я пробовал генератор Fluent Builder, и он не обновлялся в течение 10 лет и генерирует довольно сложный код вместо простого простого строителя. –