# javadoc inheritDoc funktioniert nicht



## Shamaz (12. Dez 2008)

Hallo zusammen

Ich versuche mir gerade javadoc beizubringen und da ich ob interfaces implementieren muss, ist {@inheritDoc} ein Segen, wenn es denn funktionieren würde. Wenn ich nämlich inheritDoc verwende, erhalte ich das selbe Resultat wie wenn ich @see verwende, nämlich nur einen Link zur Methode, die überschrieben wurde. Laut javadoc Dokumentation sollte aber der Text eingefügt werden.
Ich erstelle die Dokumentation direkt aus eclipse mittels export. In der fertigen Dokumentation funktionieren die Links, das heisst er findet die entsprechendenen doc Strings, die er kopieren soll. Muss ich sonst noch irgendwo etwas spezielles Einstellen, damit er den Dokumentationstext kopiert und nicht verlinkt?
Dann wüsst ich noch gerne ob es auch eine möglichkeit die Dokumentation von Methoden zu erben, die nicht vererbt sind, damit ich bei Delegate Methoden nicht die gesamte Dokumentation von Hand kopieren muss.

Ich verwende eclipse v3.4.1 und jre 6.
Vielen Dank schonmal für eure Hilfe.


----------



## Ebenius (12. Dez 2008)

Ein Code-Beispiel bitte.


----------



## Ebenius (12. Dez 2008)

Ob es mit Eclipse funktioniert, weiß ich nicht. Sun's Javadoc (JDK 1.6.0_10) tut's sauber, eben getestet. Allerdings muss die überschriebene Methode als source vorliegen. Details

Grüße, Ebenius


----------



## Shamaz (12. Dez 2008)

Ich habe gesehen, dass es funktioniert wenn ich von einer Methode ableite die ich selber kommentiert habe. Wenn ich aber z.B. folgendes mache:


```
class MyClass implements Observer{
    
    /**
     * @inheritDoc
     */
    @Override
    public void update(Observable o, Object arg) {
        // do something
    }
}
```

dann steht in der doku nur folgendes:

public void update(Observable o,
                   Object arg)

    Specified by:
*update* in interface *Observer*

    See Also:
*Observer.update(java.util.Observable, java.lang.Object)*

wobei die fett markierten Wörter auf die online java dokumentation verweisen. Wie kann ich denn javadoc die sourcen mitteilen die er verwenden soll?


----------



## diggaa1984 (12. Dez 2008)

mit Eclipse gehts auch, habs ja dank dir geschafft .. hier n Bsp:


```
/**
 * {@inheritDoc}
 * The given <code>attribute</code> must be different from existing 
 * attributes and has to consist of at least 1 character.
 */
@Override
public boolean addEntry(String attribute, String value) {
    if ((! attributes.contains(attribute)) && (! attribute.equals(""))) {
        attributes.add(attribute);
        data.add(value);
        return true;
    }//if

    return false;
}//addEntry
```

in der instant Javadoc-Anzeige in Eclipse isses nicht dabei, aber wenn du dir die Javadoc generieren lässt hast du auch den Comment der anderen Klasse/des Interfaces dabei

*EDIT:* habs grad bei mir ohne diese {} getestet, da klappts nicht wirklich. Also bau die ma drum


----------



## Guest (12. Dez 2008)

Wie gesagt wenn ich von einer Methode ableite, die ich selbst geschrieben habe funktioniert es. Wenn ich aber von einer Java-Methode ableite wie z.B. Observer oder TableModel oder was auch immer funktioniert es nicht sondern es wird nur ein link auf die online java dokumentation eingefügt. Ich weiss aber nicht wie ich in eclipse andere source-code Quellen angeben kann als mein Projekt, ich kann vor dem Builden noch angeben, auf welche sourcen er verlinken soll, allerings kann ich dor nur Webseiten angeben.


----------



## Ebenius (15. Dez 2008)

Ich habe eben ein bisschen rumgespielt. Das src.zip in ein Verzeichnis auspacken, dann (klingt komisch, is aber so) an den Anfang des classpaths bei javadoc. Dann funktionierte bei meinem Test folgendes:

```
class A extends javax.swing.JFrame {

  /**
   * [b]Disabled[/b]
   * 
   * @param operation {@inheritDoc}
   */
  @Override
  public void setDefaultCloseOperation(int operation) {
  // super.setDefaultCloseOperation(operation);
  }
}
```

Javadoc sah dann so aus:
	
	
	
	





```
public void setDefaultCloseOperation(int operation)
  Disabled

Overrides:
  setDefaultCloseOperation in class JFrame

Parameters:
  operation - the operation which should be performed when the user closes the frame

See Also:
  Window.addWindowListener(java.awt.event.WindowListener), JFrame.getDefaultCloseOperation(), WindowConstants, Runtime.exit(int)
```

Viel Spaß beim Spielen. Ebenius


----------

