Sistema de Nombrado en Java (JNDI) y II

El interface DirContext contiene los siguientes m�todos (adem�s de sus sobrecargas de java.lang.String) que implican actualizar el espacio de nombres y a�adir atributos:

C�mo usa estos m�todos un usuario del API se explica en la lecci�n Operaciones de Directorio.

bind() y rebind() pueden usarse para unir un nombre de estas formas:

  • A un objeto en el espacio de nombres
  • A un conjunto de atributos
  • Tanto a un objeto como a un conjunto de atributos

Dependiendo del servicio de directorio subyacente, una implementaci�n de contexto podr�a soprotar s�lo uno o todos ellos. Si una implementaci�n soporta los tres, deber�a estar listo para aceptar null como los par�metros objeto o Attributes. Ambos par�metros podr�an ser null en la misma llamada si la implementaci�n de contexto soporta la adici�n de un nombre s�lo al espacio de nombres, sin a�adir tambi�n un objeto asociado o atributos.

Si el servicio de directorio subyacente s�lo soporta el almacenamiento de atributos, la implementaci�n de contexto puede decidir si quiere soportar uniones de objetos no-null y, si lo hace, c�mo mapear objetos Java a atributos. Puedes encontrar una explicaci�n sobre las representaciones de objetos en la lecci�n Representaci�n en el Directorio Tambi�n puedes ver m�s adelante en esta lecci�n una descripci�n de c�mo extender la implementaci�n de contexto para los tipos de objetos que aceptar�.

La implementaci�n de estos m�todos en particular depende del modelo de atributos del servicio de directorio subyacente. Esto es as� porque una llamada a m�todo podr�a implicar tanto la actualizaci�n del espacio de nombres como la adicci�n de atributos. Si todo es posible, la actualizaci�n del espacio de nombres y la adicci�n de atributos deber�a ocurrir autom�ticamente. De nuevo, si es conseguible depende de las facilidades proporcionadas por el servicio de directorio subyacente. Una implementaci�n real podr�a no necesitar hacer nada m�s que pasar el nombre y la petici�n al servicio de directorio subyacente para su proceso.

Truco de Implementaci�n:

La sem�ntica de rebind() rquiere que los atributos existentes del objeto no se modifiquen si el par�metro de entrada Attributes es null.

.�Implicaciones de Operaciones Puras de Nombrado

La implementaci�n de contexto no s�lo debe proporcionar definiciones para createSubcontext(), bind(), y rebind(). Tambi�n debe asegurarse de que las implementaciones de los m�todos de nombrado puro tienen en cuenta los atributos. Abajo tenemos los m�todos de nombrado puro:

Por ejemplo, podr�amos implementar esto m�todos en t�rminos de sus contrapartes que toman un par�metro Attributes. Aqu� tenemos una implementaci�n de ejemplo de bind(Name name, Object obj), escrita en t�rminos de bind(Name name, Object obj, Attributes attrs).

public void bind(Name name, Object obj) throws NamingException {
    bind(name, obj, null);
}

unbind(Name name) y destroySubcontext(Name name) necesitan obtener los atributos del objeto adem�s de eliminar el objeto del espacio de nombres.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR