Quelle est la version de la javadoc � laquelle tu fais r�f�rence ? J'utilise
pour ma part la Java 2 Platform Std. Ed. v1.4.0.

Dans la partie Class.getName() je ne vois aucune r�f�rence au fully
qualified name. En gros la fonction est sp�cifi�e ainsi :

- pour toute r�f�rence sur un objet de classe, c'est le nom qui est renvoy�
(le nom qualifi�) : java.lang.String
- pour toute r�f�rence sur un type primitif, un code est renvoy� : "B" pour
byte, "C" pour char, etc.
- pour toute r�f�rence � un tableau, c'est le nom interne qui est renvoy� :
Ljava.lang.String;

Le nom interne est compos� sous ce format :

L[qualified-name]; => Ljava.lang.String;

bon, on peut s'interroger sur la pertinence de ce choix : pourquoi pas
simplement "java.lang.String", "byte", "char" et "java.lang.String[]" ?
D'autant plus que je ne vois absolument pas dans quel contexte autre que
celui du bytecode interviennent les notations internes.

-----Message d'origine-----
De : Olivier Dedieu [mailto:[EMAIL PROTECTED]
Envoy� : mercredi 12 mars 2003 10:28
� : java
Objet : Re: fully qualified name (was Bug Weblogic 7 / TLD / Array)


On Tue, 2003-03-11 at 15:40, Olivier Dedieu wrote:
> Le pb c'est qu'il va falloir que je fasse un TLD sp�cial pour BEA.
> Suis-je le premier � rencontrer le pb (de d�clarer des attributs de type
> tableau dans un custom tag) ?

En fait il n'y pas de pb ; en mettant cette d�claration, ca marche avec
Resin 2, WebSphere 5 (et donc je suppose, mais j'ai pas encore v�rifi�,
avec SunOne 7 vu que c'est le meme moteur, Tomcat 4) et JRun 4.

Cela dit, en relisant la spec de JSP 1.2 j'ai vu qu'il fallait mettre un
'fully qualified Java class name'. Or sur ce point j'ai un doute sur ce
qu'est un 'fully qualified Java class name' pour un tableau.


1. Dans la Java Lang Spec, on peut lire:


* The fully qualified name of an array type consists of the fully
qualified name of the component type of the array type followed by "[]".

Examples:

* The fully qualified name of the type "array of array of array of array
of String" is "java.lang.String[][][][]".

http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#25430


2. Dans la javadoc de Class.getName() on peut lire

Returns the fully-qualified name of the entity (class, interface, array
class, primitive type, or void) represented by this Class  object, as a
String.

 If this Class object represents a class of arrays, then the internal
form of the name consists of the name of the element type in Java
signature format, preceded by one or more "[" characters representing
the depth of array nesting. Thus:

 (new Object[3]).getClass().getName()


returns "[Ljava.lang.Object;" and:



Bref, ca parrait un peu incoherent tout ca.

a+

--
---------------------------------------------------------------
 Olivier Dedieu
 Jalios - Master Your Content - http://www.jalios.com/
---------------------------------------------------------------





Répondre à