web-dev-qa-db-fra.com

Comment lier javadoc à un champ privé?

comment puis-je créer un lien javadoc vers un champ privé?

class Foo {
  private String bar;
  public String getBar() { return bar; }
}

{@link Foo#getBar()} fonctionne.

{@link Foo#bar} Ne le fait pas.

74
membersound

La syntaxe est correcte, les travaux suivants s’effectuent dans une classe (et il n’ya aucune raison de créer un lien vers un champ privé d’une autre classe):

public class Demo {
  private int num = 0;
  /**
  * Access field {@link Demo#num} / {@link #num}  ...
  */
  private void foo() { ... }
...

Lors de la génération du javadoc, par exemple via ant, spécifiez simplement que les champs privés doivent être inclus (l'accès minimum par défaut est "protected", pas "private"):

<target name="javadoc" depends="compile" description="gen javadoc">
  <javadoc destdir="build/docs"
           author="true"
           version="true"
           use="true"
           access="private"
           windowtitle="Demo API">

    <fileset dir="src/main" defaultexcludes="yes">
      <include name="com/**"/>
    </fileset>

    <doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
    <link offline="true" href="http://download.Oracle.com/javase/6/docs/api/" packagelistLoc="doc"/>
  </javadoc>
</target>
109
michael

Je pense que ce que vous écrivez dans les commentaires est correct, il vous suffit de dire à JavaDoc d'inclure également des champs privés dans la documentation. JavaDoc a une option -private pour cela. Vérifiez cette réponse .

6
damix911