JavaBeans
JavaBean è più una metodologia ed un insieme di convenzioni più che
una libreria di funzioni.
Definizione
Un JavaBean è un componente software riutilizzabile che può essere modificato
visualmente con un tool di sviluppo.
Esempio: Fig. 1, Fig.
2. Utilizzando il BeanBox del BDK.
- Non è necessariamente visuale.
- Il linguaggio Java non è stato modificato.
- Non è necessario estendere nessuna classe per creare un Bean.
- Non è neppure necessario importare i package per i casi più semplici.
Esempio: provaBean.java (template creato automaticamente
con Forte for Java community edition)
Obblighi
- class name: any
- superclass: any
- contructor: Must have a no-argument contructor, or a serialized template
file
- packaging: JAR file manifest entry specifies Java-Bean:
True
Convenzioni
- Properties (property p of type T)
- getter: public T
getP()
- setter: public void
setP(T value)
- Methods
- method name: any
- method args: any; some tools only recognize no-argument methods
- Events (event name E)
- event class name: EEvent
- listener name: EListener
- listener methods: public
void methodname(EEvent e)
- listener registration: public
void addEListener(EListener l)
- listener removal: public
void removeEListener(EListener l)
- Metodo per esporre le proprietà, metodi ed eventi. Nativo in Java (java.lang.reflect).
- O si utilizzano le convenzioni.
- O si fornisce un oggetto BeanInfo.
- Editor delle proprietà da usare in fase di disegno.
Persistenza
- Deve prendere parte al meccanismo di persistenza del suo contenitore.
- Invece di creare un Bean con la new,
si può usare il metodo statico java.bean.Bean.instantiate()
che lo crea a partire da un file .ser
con lo stesso nome del Bean (lo cerca nel percorso di CLASSPATH quindi anche
all'interno del file JAR), se non lo trova usa il costruttore
senza parametri.
- Annotazione filosofica
Vantaggi per MOMIS
- File JAR: un solo file, una sola entrata (flessibile)
nel CLASSPATH (nel CLASSPATH oltre che a directory si possono indicare file
JAR).
- Convenzioni, che descrivono le caratteristiche dell'oggetto, comuni e note.