java - plugin - objectaid
Crear generador automáticamente para clase en Eclipse (5)
Actualmente uso Spark Builder Generator con Eclipse Neon.1a Release (4.6.1) y funciona bien. https://marketplace.eclipse.org/content/sparkbuildergenerator y https://github.com/helospark/SparkBuilderGenerator
¿Hay alguna manera de que el generador automático ( Patrón de generador de Joshua Bloch ) cree clases en Eclipse? Por ejemplo, una opción en el menú, un complemento o .... No pude encontrar nada en Refactor
.
Es posible que desee ver las anotaciones de lombok para generar constructores sin el código de la placa de la caldera. Por ejemplo:
@Builder
public class MyPojo {
private String name;
}
MyPojoBuilder.builder().name("yourame").build();
La limitación es que esto no parece funcionar con clases abstractas.
Pruebe 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;
}
}
Puede agregar su propia ventana de plantilla -> preferencias -> java -> editor -> plantillas y esto se activará con la propuesta de contenido, pero no mediante la acción de refactorización
Tal vez llego tarde a la fiesta.
Eclipse por sí solo no proporciona una forma de generar código para admitir el patrón de generador. Sin embargo, se puede extender a través de complementos para mejorar la funcionalidad.
Hay este complemento que utilizo esto:
https://code.google.com/p/bpep/
Dado que el enlace anterior podría dejar de ser válido en el futuro, realicé una búsqueda y también encontré que está disponible en: https://github.com/henningjensen/bpep