
Un Bean è un qualunque componente software riutilizzabile che può essere manipolato in modo visual da un tool opportuno.
Se consideriamo il tool di editazione del Bean esso serve per editarne le caratteristiche. Ma come fa a sapere il tool quali sono queste caratteristiche, quali sono editabili, di che tipo sono i corrispondenti valori ed altro?
Nell’oggetto stesso vi devono essere memorizzate tutte le informazioni. Nelle specifiche JavaBeans sono descritti due procedimenti con cui il tool riconosce le proprietà del Bean. Il primo è scontato ed è dato da opportune interfacce che il Bean deve implementare, che prevedono la definizione di metodi che descrivono le proprietà dei Bean stessi.
Il tool, allora, chiamerà tali metodi e vedrà subito quali sono le proprietà, quali editabili, il loro tipo ecc. Questo metodo di introspection (introspezione) è detto esplicito.
Le risorse per poter implementare questo procedimento sono proprio quelle relative alla reflection che dispone di strumenti
per scoprire informazioni circa i campi, i metodi ed i costruttori delle classi caricate e di utilizzare campi, metodi
e costruttori riflessi per agire, secondo le norme di sicurezza implementate, su essi. Per completezza diciamo
che il secondo metodo di introspezione è legato alla struttura stessa della classe.
Per esempio:
Se un campo public ha il metodo set.. significa che può essere cambiato, se ha il metodo get.. significa che può essere letto, ecc.
Dalla presenza o meno di metodi di forma standard si stabilisce la configurazione della classe e quindi dell’oggetto stesso.