Programación en castellano Añadir una dirección | Buscador | Cursos | Artículos | Foros | Formación

Sistema de Nombrado en Java (JNDI) y II
Autor: Sun
Traductor: Juan Antonio Palos (Ozito)


En esta página:


Operaciones Híbridas de Nombrado y Directorio

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.


Principio Página
© 1999-2002, Programación en castellano, s.l.
Contacto - Datos legales

ReD Internet: Hospedaje Web | envio sms gratis | Salvapantallas | Fondos de Escritorio, famosas | melodias moviles gratis| Gratis