JavaBeans
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 12 de marzo de 2013; las comprobaciones requieren
14 ediciones .
No debe confundirse con
Enterprise JavaBeans .
JavaBeans son clases en el lenguaje Java , escritas de acuerdo a ciertas reglas. Se utilizan para combinar varios objetos en uno ( ing. frijol - frijoles, granos de café) para facilitar la transferencia de datos. [una]
La especificación de Sun Microsystems define JavaBeans como componentes de software reutilizables que se pueden manipular mediante diseñadores gráficos y herramientas IDE .
Los JavaBeans proporcionan la base para los componentes de software reutilizables, integrables y modulares . JavaBeans puede tomar muchas formas, pero se usan más comúnmente en elementos de interfaz gráfica de usuario ( GUI) . Uno de los objetivos de crear JavaBeans es interactuar con estructuras de componentes similares . Por ejemplo, un programa de Windows , dado el puente apropiado o el objeto contenedor , puede usar un componente JavaBeans como si fuera un componente COM o ActiveX .
Reglas de descripción de JavaBean
Para que una clase funcione como un bean, debe seguir ciertas convenciones de nomenclatura, constructor y comportamiento de métodos. Estas convenciones permiten la creación de herramientas que pueden usar, reemplazar y vincular JavaBeans.
Las reglas de descripción son:
- La clase debe tener un constructor sin parámetros con un modificador de acceso public. Dicho constructor permite que las herramientas creen un objeto sin la complejidad adicional de los parámetros.
- Las propiedades de clase deben ser accesibles a través getde sety otros métodos (llamados métodos de acceso ), que deben seguir la convención de nomenclatura estándar. Esto permite que las herramientas detecten y actualicen automáticamente el contenido de beans. Muchas herramientas incluso tienen editores especializados para diferentes tipos de propiedades.
- La clase debe ser serializable . Esto hace posible guardar, almacenar y restaurar el estado del bean de manera confiable e independiente de la plataforma y la máquina virtual.
- La clase debe tener anulados los métodos equals(), hashCode() y toString().
Dado que los requisitos se expresan principalmente como una convención en lugar de una interfaz , algunos desarrolladores consideran que los JavaBeans son objetos simples de Java que siguen ciertas convenciones de nomenclatura.
Ejemplos
// PersonBean.java
La clase pública PersonBean implementa java . yo _ Serializable {
nombre de cadena privado ; _
difunto booleano privado ;
Public PersonBean () {
}
// Métodos getters (get) y setters (set)
cadena pública getName () {
devolver nombre ;
}
public void setName ( nombre de la cadena ) {
esto _ nombre = nombre ;
}
booleano público getDeceased () {
volver difunto ;
}
public void setFallecido ( booleano fallecido ) {
esto _ difunto = difunto ;
}
//Métodos anulados equals() y hashCode()
@Anular
public boolean equals ( Objeto o ) {
si ( esto == o ) {
devolver verdadero ;
}
if ( o == nulo || getClass () != o . getClass ()) {
devolver falso ;
}
PersonBean que = ( PersonBean ) o ;
if ( difunto != que . difunto ) {
devolver falso ;
}
volver ! ( nombre != nulo ? ! nombre . es igual a ( ese . nombre ) : ese . nombre != nulo );
}
@Anular
código hash público int () {
resultado int = nombre ! = nulo ? nombre _ código hash ( ) : 0
resultado = 31 * resultado + ( fallecido ? 1 : 0 );
resultado devuelto ;
}
//Método anulado aString()
@Anular
cadena pública a la cadena () {
volver "PersonBean{" +
"nombre='" + nombre + '\'' +
", fallecido=" + fallecido +
'}' ;
}
}
// TestPersonBean.java
clase pública TestPersonBean {
public static void main ( String [] args ) {
PersonBean persona = new PersonBean ();
persona _ establecerNombre ( "Bob" );
persona _ setFallecido ( verdadero );
// Resultado: "Bob [fallecido]"
sistema _ fuera _ imprimir ( persona.obtenerNombre ( ) );
sistema _ fuera _ println ( persona . getFallecido () ? " [fallecido]" : " [vivo]" );
}
}
Notas
- ↑ ¿ La especificación JavaBeans ? . www.oracle.com . Consultado el 31 de marzo de 2021. Archivado desde el original el 16 de abril de 2021. (indefinido)