JavaBean
Le JavaBean sono classi scritte in linguaggio di programmazione Java secondo una particolare convenzione. Sono usate per incapsulare molti oggetti in un singolo oggetto (il bean), così da poter passare il bean invece degli oggetti individuali.
La specifica della Sun Microsystems le definisce come "componenti software riusabili che possono essere manipolate visivamente in un tool per il build".
Convenzioni JavaBean
Al fine di funzionare come una classe JavaBean, una classe di un oggetto deve obbedire a certe convenzioni in merito ai nomi, alla costruzione e al comportamento dei metodi. Queste convenzioni rendono possibile avere tool che possono usare, riusare, sostituire e connettere JavaBean.
Le convenzioni richieste sono:
- La classe deve avere un costruttore senza argomenti
- Le sue proprietà devono essere accessibili usando get, set e altri metodi (così detti metodi accessori) seguendo una convenzione standard per i nomi
- La classe dovrebbe essere serializzabile (capace di salvare e ripristinare il suo stato in modo persistente)
- Non dovrebbe contenere alcun metodo richiesto per la gestione degli eventi
Dato che questi requisiti sono abbondantemente espressi come convenzioni piuttosto che implementando interfacce, qualche sviluppatore vede le JavaBean come Plain Old Java Object che seguono alcune convenzioni per i nomi.
Esempio di JavaBean
// PersonaBean.java
public class PersonaBean implements java.io.Serializable {
private String nome;
private boolean deceduto;
// No-arg constructor (takes no arguments).
public void PersonaBean() {
}
public String getNome() {
return this.name;
}
public void setNome(String nome) {
this.nome = nome;
}
// Different semantics for a boolean field (is vs. get)
public boolean isDeceduto() {
return this.deceduto;
}
public void setDeceduto(boolean deceduto) {
this.deceduto = deceduto;
}
}
// TestPersonaBean.java
public class TestPersonaBean {
public static void main(String[] args) {
PersonaBean persona = new PersonaBean();
persona.setNome("Bob");
persona.setDeceduto(false);
// Output: "Bob [alive]"
System.out.print(person.getNome());
System.out.println(person.isDeceduto() ? " [deceduto]" : " [vivo]");
}
}
Approvazioni
AWT, Swing, e SWT, i principali toolkit per GUI in Java, usano convenzioni JavaBean per i propri componenti, che consentono agli editor di GUI come il Visual Editor di Eclipse e il GUI Editor di NetBeans di mantenere una gerarchia di componenti e fornire accesso alle loro proprietà attraverso metodi della famiglia get e set.
Voci correlate
- Widgets
- Per una discussione lato-server su JavaBean vedere le Enterprise JavaBean.