una tipos programacion polimorfismo orientada objetos objeto metodos lenguaje herencia ejemplos crear como clases clase atributos java eclipse code-generation setter

java - tipos - ¿Atajo para llamar a todos los métodos de establecimiento en un objeto en Eclipse?



programacion orientada a objetos java (8)

No quiero hacer eso 150 veces.

No tengo conocimiento de ninguna característica de Eclipse que te ayude aquí.

Podrías volver a usar algo torpe como macros de teclado de emacs o scripts de Perl para masajear el código fuente fuera de Eclipse .

Su otra opción (aunque probablemente no será productiva ...) es solicitar que se revise la incómoda API; por ejemplo, para apoyar el patrón "constructor".

Quiero crear un objeto de una clase y luego establecer todas las propiedades en él usando métodos de establecimiento. Hay más de 150 métodos de establecimiento y quiero escribir cada uno de ellos o incluso escribir el nombre de Object instance Tipo de Object instance en punto . y luego presiona la barra espaciadora de Eclipse para darme sugerencias y luego selecciona el método de establecimiento. No quiero hacer eso 150 veces.

Por lo tanto, estaba buscando algún tipo de acceso directo en Eclipse que te permita llamar a todos los configuradores del método. Al igual que escribe el nombre de la instancia y Eclipse llama a todos los métodos de establecimiento, por ejemplo

  • instanceName.setterOne ("valOne");
  • instanceName.setterTwo ("valOne");
  • instanceName.setterThree ("valOne");

No puedo crear otro constructor en la clase, no tengo permiso para hacerlo


Aquí hay algunos consejos que utilicé:

Ctrl + Shift + A -> eclipsar selección de bloque (esta es la herramienta mágica 01)

Ctrl + F -> eclipse buscar / encontrar y reemplazar (herramienta mágica 02)

Ctrl + Shift + X -> a mayúsculas (herramienta 03)

Aqui como lo hice

  1. selección de bloque -> seleccione todos los nombres de campo (herramienta 01) Ej: usuario

  2. seleccione todas las primeras letras y haga la primera letra en mayúscula (herramienta 01/03)
    Ex: Usuario

  3. seleccione todo y ponga el conjunto de palabras (herramienta 01) Ej: setUser

  4. Alinear todos los campos en línea. Así que puedes usar el selector de bloque recto

  5. seleccione todo y establezca "();" Ej: setUser ();

ahora tienes todos los preparadores listos

Cuando desee insertar un valor entre paréntesis, puede usar la herramienta mágica 02. Buscar y reemplazar (piense un poco y verá una opción)

Finalmente, guarde su tiempo de aburrimiento desde la configuración de los captadores / configuradores.

¡salud!


Consideraría seriamente rediseñar su clase, dado que ha llegado a esta situación. Sin saber mucho sobre esta clase o sus objetivos, me atrevería a decir que casi no hay razón para tener 150 campos individuales, especialmente si son del mismo tipo. Piénselo: si ya está en esta situación, ¿qué tan fácil será mantener este código en el futuro?

Si los campos son todos del mismo tipo, considere usar una matriz, una List o un Map (propiedad-> valor). Si son muchos tipos diversos, piense en cómo podría dividirlos en clases de componentes que podrían administrarse más fácilmente.


Por mi experiencia, la última vez, no puedo encontrar que eclipse tenga tal característica. Lo más que puedo hacer es abrir la Vista de Type Hierarchy (presionando F4 al ver esa clase), y luego ordenar por el nombre del método de esa clase y copiar todos los setters para su posterior edición.

O bien, puede utilizar la reflexión para averiguar todos los métodos de esta clase e imprimir las llamadas del setter, algo como esto:

try { Class c = Class.forName("your.class.name"); Method m[] = c.getMethods(); for (int i = 0; i < m.length; i++) if (m[i].getName().startsWith("set")){ System.out.println("instanceName."+m[i].getName()+"(/"valOne/");"); } } catch (Throwable e) { System.err.println(e); }



Tengo Eclipse 4.6.0, que tiene una opción para generar automáticamente getters y setters (no estoy seguro acerca de las versiones anteriores de Eclipse).

(a) Seleccione su clase (y haga clic con el botón derecho) (b) Seleccione Fuente (Mayús + Alt + S) (c) Seleccione Generadores y definidores La ventana emergente resultante (Generar captadores y definidores) le permite seleccionar TODOS o campos individuales .

Espero que esto ayude (si es relevante).



mi propia solución más general para este problema basada en anwser, que no solo establecía tipos básicos. Está lejos de ser perfecto, aún para algunos puede ser un punto de partida.

El código está here