En esta página: Definición de la Síntaxis de Atributos Una síntaxis de atributo especifica la representación de los valores del atributo. Algunos ejemplos de síntaxis son Directory String, que especifica un string de carácteres no sensible a las mayúsculas codificado usando el conjunto de caracteres ISO 10646, y Octet String, que especifica una secuencia de octetos. En el árbol de esquema, el nombre "SyntaxDefinition" está unido a un contexto plano que contiene objetos DirContext que representan definiciones de síntaxis en el esquema. Por ejemplo, si un directorio soporta la síntaxis 1.3.6.1.4.1.1466.115.121.1.15 (Directory String), el contexto "SyntaxDefinition" tendrá una unión con el nombre "1.3.6.1.4.1.1466.115.121.1.15" que está unida a un objeto DirContext. Cada objeto en el contexto "SyntaxDefinition" tiene los atributos obligatorios y opcionales listados en la siguiente tabla:
Estos atributos correponden con la definición de "SyntaxDescription" en la RFC 2252. Todos los valores de los atributos están representados por la clase java.lang.String. Recuperar el Esquema de una Definición de Síntaxis de Atributo Para recuperar el objeto esquema de una síntaxis de atributo, lo buscamos en el árbol del esquema. Por ejemplo, podremos obtener el objeto esquema que representa la síntaxis "Directory String" usando el siguiente código. El OID para el Directory String es 1.3.6.1.4.1.1466.115.121.1.15: // Get the schema tree root DirContext schema = ctx.getSchema(""); // Get the schema object for Directory String's syntax DirContext dsSchema = (DirContext)schema.lookup("SyntaxDefinition/1.3.6.1.4.1.1466.115.121.1.15"); Si obtenemos los atributos del objeto esquema dsSchema, veremos lo siguiente: NUMERICOID: 1.3.6.1.4.1.1466.115.121.1.15 DESC: Directory String
No sólo podemos usar lookup() para recuperar objetos del árbol de esquema, también podemos usar métodos como list() o search(). Obtener una Definición de Síntaxis de Atributo Dando un objeto Attribute que representa un atributo LDAP, podemos obtener su definición de síntaxis llamando a getAttributeSyntaxDefinition() sobre él. Por ejemplo, para recuperar el objeto de la síntaxis "Directory String", primero localizamos un atributo que use esa síntaxis (como "cn") y luego llamamos a getAttributeSyntaxDefinition() sobre él. Aquí tenemos un ejemplo: // Get an attribute that uses that syntax Attributes attrs = ctx.getAttributes("cn=Ted Geisel, ou=People", new String[]{"cn"}); Attribute cnAttr = attrs.get("cn"); // Get its attribute syntax definition DirContext dsSyntax = cnAttr.getAttributeSyntaxDefinition();
Crear, Modificar o Actualizar Definiciones de Síntaxis de Atributos Dinámicamente crear, borrar o modificar síntaxis de atributos no tiene sentido. Incluso si el servidor LDAP nos permitiera añadir (o borrar) una síntaxis del esquema, se deben realizar los cambios necesarios en el servidor LDAP para soportar la nueva síntaxis. La mayoría de los servidores soportan un conjunto de síntaxis fijas. El cambio programático de este conjunto normalmente no es una caracterítica soportada.
|