wpjr2’s Weblog

Artigos e tutoriais úteis

Padrão JavaBeans

Posted by wpjr2 em abril 11, 2008

JavaBeans são classes escritas na linguagem de programação Java utilizando uma convenção específica.
Elas são usadas para encapsular diversos objetos dentro de um objeto simples (um bean), de tal forma que o bean pode ser diretamente manipulado pela aplicação ao invés de manipular cada objeto individual. A especificação pela Sun define que estes são componentes de software reusáveis que podem ser manipulados visualmente por ferramentas de construção de aplicações. Isto se aplica aos construtores de GUI (Eclipse VE e Netbeans GUI).

Para que uma classe possa ser considerada um bean, esta precisa obedecer convenções específicas relativas a nomenclatura, construção e comportamento.

As convenções necessárias são:

– A classe deve possuir um construtor sem argumentos. Isto permite a fácil instanciação deste pelas ferramentas.
– As propriedades das classes devem ser acessíveis via get, set e outros métodos (métodos acessores e modificadores) utilizando uma convenção de nomenclatura padrão.
– A classe deve ser serializável, permitindo que aplicações e frameworks possam salvar, armazenar e recuperar o estado do bean na VM e de forma independente da plataforma.
– A classe não deve conter métodos de tratamento de eventos.

Um exemplo:

// PersonBean.java

public class PersonBean implements java.io.Serializable {

private String name;
private boolean deceased;

// No-arg constructor (takes no arguments).
public PersonBean() {
}

public String getName() {
return this.name;
}

public void setName(String name) {
this.name = name;
}

// Different semantics for a boolean field (is vs. get)
public boolean isDeceased() {
return this.deceased;
}

public void setDeceased(boolean deceased) {
this.deceased = deceased;
}
}

Teste:

/ TestPersonBean.java

public class TestPersonBean {
public static void main(String[] args) {

PersonBean person = new PersonBean();
person.setName(“Bob”);
person.setDeceased(false);

// Output: “Bob [alive]”
System.out.print(person.getName());

System.out.println(person.isDeceased() ? ” [deceased]” :” [alive]”);
}
}

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: