JavaBean

classe scritta in linguaggio di programmazione Java secondo una particolare convenzione

Le JavaBean sono classi scritte in linguaggio di programmazione Java. Sono usate per incapsulare molti oggetti in un singolo oggetto (il bean), così che questo bean possa essere passato ovunque piuttosto che a oggetti individuali.

La specifica della Sun Microsystems le definisce come "componenti software riusabile che può essere manipolato visivamente in un tool per il build".

Convenzioni JavaBean

Al fine di funzionare come una classe JavaBean, un classe oggetto deve obbedire a certe convenzioni in merito ai metodi per i nomi, per i costrutti, per il comportamento. 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

// 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;
    }
}
// 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]");
    }
}

Approvazioni

AWT, Swing, e SWT, i principali toolkig per GUI in Java, usano convenzioni JavaBean per i propri componenti, che consentono agli editor di GUI come l'Editor Visuale Eclipse di mantenere una gerarchia di componenti e fornire accesso alle loro proprieta attraverso metodi della famiglia get e set.

Vedi anche

Collegamenti esterni