Newsgroup: it.comp.java
Titolo: Javadoc

Una domanda sulla documentazione; come potete immaginare, non sono
molto pratico...
Se in un mio sorgente scrivo una cosa del tipo:
/** Imposta il valore come da parametro. */
  public void setValore(String val) {
    valore=val;
  }
dandolo da mangiare a javadoc ottengo un'entry fatta cosě:
void setValore(java.lang.String val)
    Imposta il valore come da parametro.
Questo č diverso da come appaiono le cose nella documentazione del
JDK. Lě infatti la Stringa č indicata solo come String, per
intenderci:
void setValore(String val)
    Imposta il valore come da parametro.
...e per di piů, la parola String č un hyperlink alla classe. Il link
non č una funzione che mi interessi, ma mi piacerebbe ottenere che la
classe String venga chiamata semplicemente String, senza il prefisso
java.lang.
Fra l'altro, questo avviene automaticamente per altri tipi
fondamentali (ma questa volta primitivi) come char, int, etc.
Qualcuno mi puň spiegare come ottenere questo?
Grazie!
Marco
xprofx(AT)katamail_punto_com

 java.lang.
Non credo che sia possibile perché per classi/interfacce come 
java.util.List e java.awt.List non saresti in grado di distinguere l'una
dall'altra (senza il link).
Cmq guarda le opzioni -link e -linkoffline nella documentazione del javadoc.
Ciao
Matteo
-- 
chi sono e soprattutto chi non sono:
http://www.ilnomedeldominio.it
un piccolo programma per studenti universitari:
http://inutility.ilnomedeldominio.it

 ...e per di più, la parola String è un hyperlink alla classe.
Come dice la documentazione Sun di javadoc:
     You can add hyperlinks to existing text for classes
     not included on the command line (but generated separately)
     by way of the -link and -linkoffline options.
Io personalmente uso -linkoffline.
La mia riga di comando è qualcosa del tipo:
    javadoc .....
            -linkoffline 
http://java.sun.com/j2se/1.4.2/docs/api
 file:.
            .....
dopo essermi ovviamente copiato il file
http://java.sun.com/j2se/1.4.2/docs/api/package-list
nella directory ".".
In questo modo:
   1.  Non compare mai scritto java.lang.String
       ma solamente String
   2.  String appare come un hyper-link
   3.  Il link punta al sito della Sun 
http://java.sun.com/j2se/1.4.2/.
..
Effetti collaterali indesiderati:
   1.  Se uno segue il link va sempre su Internet
       verso il sito della Sun.
   2.  Quando la Sun non supporterà più la 1.4.2 ma solo la 1.5
       allora il link non sarà più aggiornato ed apparirà qualcosa
       del tipo 
http://java.sun.com/j2se/1.4.1/index.html
Altrimenti puoi usare -link al posto di -linkoffline
- Dario

Altrimenti puoi usare -link al posto di -linkoffline
Non mi è chiarissimo quello che mi hai spiegato. O meglio, non sono
sicuro di riuscire ad ottenere proprio quello che voglio io.
Se ho capito bene, dando da mangiare a javadoc lo stesso identico
sorgente che ho mostrato in precedenza (e che scriveva
java.lang.String) ma specificando il parametro "-linkoffline
http://java.sun.com/j2se/1.4.2/docs/api
" a linea di comando, quello
che ottengo è di far stampare a javadoc la parola "String" linkata al
sito della Sun. Con lo svantaggio che il link potrebbe diventare
obsoleto.
A mio modo di vedere, la cosa ha due effetti separati:
1) Sostituisce java.lang.String con "l'etichetta" String
2) Aggiunge l'hyperlink.
Io vorrei ottenere solo il primo effetto. Non ho capito come -link al
posto di -linkoffline possa aiutarmi. Se uso quello cosa accade, mi
vengono copiate le etichette senza hyperlink?
Grazie!
-----------------------------------
Ok, ho trovato da solo!!! :)
In effetti, avevo capito dal tuo post (anche se non mi tornavano i
conti), che -linkoffline fornisse le etichette con i link, ed invece
succede questo:
* -link fornisce i link alle classi (alle quali risale dal
package-list) e mette come label i nomi "semplici" delle classi.
* -linkoffline fornisce soltanto le label "semplificate".
Seguendo le tue istruzioni, dunque, ho ottenuto quello che cercavo,
solo che ho specificato come file per i link il package list della mia
sdk; per intenderci, ho scritto:
{-link|-linkoffline} c:\Programmi\j2sdk1.4.2_04\docs\api
(in questa directory si trova il file package-list)
solo che succede una cosa strana. Se compilo con l'opzione -link
funziona tutto perfettamente (gli hyperlink chiaramente puntano a
percorsi sul mio disco fisso); se invece compilo con l'opzione
-linkoffline, funziona ancora tutto correttamente, cioé le stringhe
vengono ancora indicate con String invece che java.lang.String,
soltanto che JBuilder X riporta l'errore di javadoc seguente:
   StdOut
      C:\Programmi\j2sdk1.4.2_04\bin\javaw -cp
C:\Programmi\j2sdk1.4.2_04\lib\tools.jar com.sun.tools.javadoc.Main
-encoding Cp1252 -charset windows-1252 -sourcepath
C:\lavori\Java\Best_Test\src;C:\lavori\Java\Best_Test\test
@C:\DOCUME~1\MARCOB~1\IMPOST~1\Temp\jdoc2053.args -doclet
com.sun.tools.doclets.standard.Standard -d
C:\lavori\Java\Best_Test\doc -author -package -source 1.2 -linkoffline
C:\Programmi\j2sdk1.4.2_04\docs\api -tag todo:a:"To Do:" -subpackages
best_test
   StdErr
      Loading source files for package best_test...
      1 error
      javadoc: Illegal package name: "todo:a:To Do:"
-------------
Non è che per caso sai spiegarmi da cosa dipende? io quel "-tag
todo:a:"To Do:" non l'ho mai aggiunto...
Grazie ancora!
Marco
xprofx(AT)katamail_punto_com

 solo che succede una cosa strana.
L'opzione -linkoffline ha due (!) parametri.
Infatti nel mio post precedente come esempio davo
    -linkoffline 
http://java.sun.com/j2se/1.4.2/docs/api
 file:.
L'opzione -link ha invece un solo parametro.
La documentazione su javadoc che spiega tutto la puoi trovare in:
http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#linkoffline
- Dario

Mi sono risposto da solo...
Il problema in -linkoffline nasce dal fatto che questo ha due
parametri, e specificandone io uno solo questo considerava come
secondo parametro il -tag aggiunto automaticamente da JBuilder.
Il sistema per ottenere quello che cercavo, e cioé "String" invece di
"java.lang.String" SENZA link è quello di usare l'opzione
-noqualifier.
Invece per ottenere i link, bisogna usare -link o -linkoffline come
indicato in precedenza. In questo caso il classname APPARE abbreviato
perché il link conduce automaticamente alla classe corretta anche in
caso di ambiguità. Resta da vedere (ma per pura curiosità) se si possa
ottenere anche in questo caso il classname completo, ma non è di mio
interesse scoprire la risposta. :)
Grazie comunque a tutti!
Marco
xprofx(AT)katamail_punto_com


http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#linkoffline
Ce l'avevo anche offline; il problema era che io cercavo di fare
un'altra cosa, che per l'appunto fa l'opzione -noqualifier. Solo che
dalla prima lettura non l'avevo capito.
Mille grazie per l'aiuto!
Marco
xprofx(AT)katamail_punto_com