8

クラス/インターフェース/パッケージのサブセットの Javadoc を作成する方法を知っています。しかし、パブリック メソッドのサブセットのみの Javadoc を生成する方法はありますか?

私が望むのは、メソッド (Javadoc タグまたは注釈) を特定の API に属するものとして、またはその一部ではないものとしてマークできることです。次に、指定された一連のメソッド (API を形成するメソッド) に対してのみ Javadoc を生成するツールを用意します。

メソッドへのパブリック/プライベート/パッケージ アクセスの選択は、私のプロジェクトには十分ではありません。パブリック メソッドは、パブリック API に属しているかどうか、または API 1 に属しているが API 2 に属していない可能性があります。基本的に、パブリック メソッドの任意のサブセットから API を選択できるようにしたいと考えています。

4

2 に答える 2

2

コマンド ライン ツールを使用している場合は、パブリック メソッドにマークを付けてオプションを使用するjavadocことで、パブリック メソッドを除外できます。しかし、より洗練されたものが必要な場合は、自分で実装する必要があります。Deprecated-nodeprecated

それを行う方法の大まかなアイデア:

  1. カスタム アノテーション @API1、@API2 などを作成します。
  2. これらの注釈を使用してメソッドを分類します (つまり、それらをマークします)
  3. Javadoc を生成する API を指定する構成パラメーターを (ファイルなどから) 読み取るカスタム Ant タスクを作成します。
  4. 引き続き Ant タスクで、注釈付きのメソッドをループし、選択した API ではないすべての API 注釈を非推奨の注釈に置き換えます。これにより、それらが Javadoc から除外されます。

私見、これは面倒です。コメントで彼らが言ったように、複数のインターフェイスを持つクラスがある場合 (異なるユーザー プロファイル用だと思いますか?)、個別のインターフェイスを作成することを検討してください。

于 2013-04-04T13:30:21.977 に答える
2

javadoc に縛られていない場合は、代わりに条件付きセクションでdoxygenを試すことができます。

public class SomeClass {
    /// @cond API1
    /**
     * This method can be called as part of API1 only.
     */
    public void method() { ... }
    /// @endcond

    /// @cond (API1 || API2)
    /**
     * This method can be called as part of API1 or API2.
     */
    public void method2() { ... }
    /// @endcond
}

メソッドを適切にグループ化すると、必要な@condステートメントの数を制限することもできます。

実際に含まれるメソッドはENABLED_SECTIONS、ドキュメントの作成時に構成オプションで選択できます。

于 2013-04-04T13:54:45.987 に答える