Bom dia.
Essa é para os experts do Eclipse.
Considere a classe mensagem abaixo:
public class Mensagen {
String de;
String para;
String cc;
String assunto;
String anexo;
String mensagem;
String servidorimap;
…gets e sets omitidos…
}
Minha duvida é em como usar o eclipse para eu não precisar escrever todos os sets ao instanciar o objeto, ou seja , queria instanciar o objeto
Mensagem m = new Mensagem();
e usar um atalho qualquer para o Eclipse gerar os sets para este objeto deixando apenas pra eu colocar os valores como
m.setDe(de);
m.setPara(para);
m.setCc(cc);
m.setAssunto(assunto);
m.setAnexo(anexo);
m.setMensagem(mensagem);
m.setPara(para);
m.setServidorimap(servidorimap);
Agradeço toda a ajuda, pois neste caso é simples de escrever mas estou trabalhando em uma aplicação que são dezenas de sets e isto esta me tomando muito tempo.
Não precisa ser expert. Basta usar o Google 
Clique com o botão direito na classe, vá na opção “Source”, depois “Generate Getters and Setters…”. Na janela que abre, basta selecionar os atributo que se deseja criar os getters e setters, e depois clicar em “OK”. Você também pode selecionar se quer gerar somente os getters ou somente os setters, isso para cada atributo.
Fonte: https://stackoverflow.com/questions/7221691/is-there-a-way-to-automatically-generate-getters-and-setters-in-eclipse
Abraço.
1 curtida
Olá TerraSkill.
Sei usar o google e essa de gerar os métodos get e set eu conheço, aliás de uma forma até mais pratica e rápida da que você me passou ( use ALT+SHIFT+S+R )
mas não é essa a duvida,note que eu mencionei que gostaria de um atalho para gerar os sets ao instanciar o objeto e não ao criar a classe. ( infelizmente pois eu gostaria que fosse simples assim).
Vou explicar melhor:
Criei a classe ArcoIris por exemplo:
public class ArcoIris {
String cor1;
String cor2;
String cor3;
String cor4;
String cor5;
String cor6;
String cor7;
String cor8;
public String getCor1() {
return cor1;
}
public String getCor2() {
return cor2;
}
public String getCor3() {
return cor3;
}
public String getCor4() {
return cor4;
}
public String getCor5() {
return cor5;
}
public String getCor6() {
return cor6;
}
public String getCor7() {
return cor7;
}
public String getCor8() {
return cor8;
}
public void setCor1(String cor1) {
this.cor1 = cor1;
}
public void setCor2(String cor2) {
this.cor2 = cor2;
}
public void setCor3(String cor3) {
this.cor3 = cor3;
}
public void setCor4(String cor4) {
this.cor4 = cor4;
}
public void setCor5(String cor5) {
this.cor5 = cor5;
}
public void setCor6(String cor6) {
this.cor6 = cor6;
}
public void setCor7(String cor7) {
this.cor7 = cor7;
}
public void setCor8(String cor8) {
this.cor8 = cor8;
}
}
Agora suponhamos que vou instanciar a classe:
public class Main {
public static void main(String[] args) {
ArcoIris arcoiris = new ArcoIris();
// É este trecho abaixo que eu queria achar uma forma de gerar automaticamente,
// sem digitar arcoiris.setCor1(,arcoiris.setCor2( ... etc; deixando somente o valor das variaveis para setar.
arcoiris.setCor1(cor1);
arcoiris.setCor2(cor2);
arcoiris.setCor3(cor3);
arcoiris.setCor4(cor4);
arcoiris.setCor5(cor5);
arcoiris.setCor6(cor6);
arcoiris.setCor7(cor7);
arcoiris.setCor8(cor8);
}
}
Conseguiu compreender?
Já revirei fóruns e o próprio google mas não acho nada sobre o assunto…
Sua dúvida original não dava essa ideia. Mas enfim, seria um atalho ou plugin realmente útil.
Você pode copiar métodos da listagem de Type Hierarchy (atalho: f4) como sugerido aqui, mas infelizmente ele não coloca a instância como prefixo, então não é tão automatizado quanto poderia.
O IntelliJ tem um plugin para isso, talvez valha a pena dar uma olhada. Deve ser possível instalar no Android Studio, que é baseado no IntelliJ
PS: acho horríveis alguns dos atalhos do Eclipse (como esse), por isso coloquei o caminho mais longo.
Abraço.
Não estou respondendo diretamente a sua pergunta mas, se você tem vários casos onde precisa disso ( um construtor padrão e chamando todos os setters necessário em seguida), eu recomendaria você considerar criar construtores mais completos e evitar usar setters.
1 curtida