La lección Almacenar Objetos
en el Directorio nos ofreció ejemplos de uniones de varios tipos de
objetos. ¿Pero que pasa si queremos unir otro tipo de objeto diferente a todos
los mostrados hasta ahora? ¿Qué determina los tipos de objetos que un
proveedor de servicios puede unir?
El JNDI proporciona un marco de trabajo general para transformar objetos
suministrados a Context.bind()
y sus métodos relacionados en un formato aceptable por el proveedor de
servicios. Este marco de trabajo usa factorías
de estado. Una factoría de estado transforma un objeto en otro objeto.
La entrada es el objeto y los atributos opcionales, suministrado a Context.bind()
y la salida es otro objeto y atributos opcionales, para ser almacenado en el
servicio de nombres o directorio correspondiente. Un proveedor de servicio puede
estar preconfigurado con factorías de estado. Por ejemplo, el proveedor LDAP de
Sun tiene factorías de estado para almacenar objetos RMI y CORBA. La
aplicación puede configurar factorías de estados adicionales para que las use
el proveedor de servicios.