J2C アプリケーションにおけるドックレットの使用

J2C アプリケーションで Java™ ソース・コードにタグを追加すると、 J2C ドックレットの機能を使用できるようになります。

ドックレット・タグは、J2EE 環境に配置する準備ができたアプリケーション成果物を 生成するための、拡張可能な処理機構を提供する注釈プログラミング・タグです。 ドックレット・タグを J2C アプリケーション内の Java ソース・コードに追加する場合、 これらの成果物は自動的に生成されます (保管するために CTRL-S を押したとき)。
ドックレット・タグは、Java ソースに Javadoc スタイルのコメントとして挿入されます。注釈ベースの プログラミング・タグの属性には、スコープ (コード内の、タグがある場所) および多重度 (タグを使用できる頻度) が含まれます。

サポートされるドックレット・タグ:

以下のタイプのタグは、J2C アプリケーションの開発時に、 Java ソース・コードに追加することができます。
  • J2C タグ
  • タイプ記述子タグ:

ドックレット・タグ属性

  1. スコープ: スコープは、 Java ソース・ファイル内のタグのロケーションを表します。 有効なスコープ・オプションは、パッケージ、クラス、メソッド、およびフィールドの 4 つです。
    • パッケージ

      パッケージ・コメントに追加されます。このスコープは、 Java パッケージ全体、モジュール、またはアプリケーション全体に適用できる情報を 提供します。

    • クラス

      クラス・コメントに追加されます。このスコープは、概して、 Java タイプまたはインターフェースについて情報を提供します。

    • メソッド

      クラス内の特定のメソッドのコメントに追加されます。 このスコープは、クラス内の参照済みメソッドについての情報を提供します。

    • フィールド

      クラス内の特定のフィールドのコメントに追加されます。 このスコープは、クラス内の参照済みフィールドに固有の情報を提供します。

  2. 多重度: 多重度は、 特定のタグを 1 つの Java ソース・ファイルに表示できる回数を示します。ドックレット表記では、多重度は タグ名の後に括弧で囲んで示されます。
    • 0..1: Java ソース・ファイルで、 タグをゼロ回または 1 回使用できることを示します。
    • 0..n: Java ソース・ファイルで、タグをゼロ回から無限の回数まで使用できることを示します。
: 以下の例は、IMS™ Multisegment Output チュートリアルからの抜粋です。
  1. プロジェクト・エクスプローラー・ビューで、プロジェクトを展開し、「Java リソース (Java Resources)」を展開し、「JavaSource」セクションを展開する。
  2. パッケージ (この場合は sample.ims) で右クリックし、 「新規」>「クラス」と選択して、新規クラス・ウィザードを起動する。
  3. クラスの名前として CCIBuffer と入力する。すべてのデフォルトの設定を受け入れます。
  4. 「終了」をクリックすると、CCIBuffer クラスが Java エディターで開く。
  5. CCIBuffer クラスのコメント・セクションで、次の方法でタグ @type-descriptor.message-buffer を追加する。

    ドックレット・タグを追加する

  6. CTRL-S を押して、変更を保管する。以下のコードが、 CCIBuffer.java クラス・ファイルで自動的に生成されます。
    /*
     * Created on Oct 13, 2004
     *
     * TODO To change the template for this generated file go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    package sample.ims;
    
    /**
     * @author ivyho
     *
     * TODO To change the template for this generated type comment go to
     * Window - Preferences - Java - Code Style - Code Templates
     * @type-descriptor.message-buffer
     */
    public class CCIBuffer implements javax.resource.cci.Record,
    		javax.resource.cci.Streamable, com.ibm.etools.marshall.RecordBytes {
    
    	private byte[] buffer_ = null;
    
    	/**
    	 * @generated
    	 */
    	public CCIBuffer() {
    		return;
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Record#getRecordShortDescription()
    	 */
    	public String getRecordShortDescription() {
    		return (this.getClass().getName());
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Record#hashCode()
    	 */
    	public int hashCode() {
    		return (super.hashCode());
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Streamable#write(OutputStream)
    	 */
    	public void write(java.io.OutputStream outputStream)
    			throws java.io.IOException {
    		outputStream.write(buffer_);
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Record#setRecordShortDescription(String)
    	 */
    	public void setRecordShortDescription(String shortDescription) {
    		return;
    	}
    
    	/**
    	 * @generated
    	 */
    	public int getSize() {
    		if (buffer_ != null)
    			return (buffer_.length);
    		else
    			return (0);
    	}
    
    	/**
    	 * @generated
    	 * @see java.lang.Object#toString
    	 */
    	public String toString() {
    		StringBuffer sb = new StringBuffer(super.toString());
    		sb.append("¥n");
    		com.ibm.etools.marshall.util.ConversionUtils.dumpBytes(sb, buffer_);
    		return (sb.toString());
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Record#getRecordName()
    	 */
    	public String getRecordName() {
    		return (this.getClass().getName());
    	}
    
    	/**
    	 * @generated
    	 */
    	public byte[] getBytes() {
    		return (buffer_);
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Record#clone()
    	 */
    	public Object clone() throws CloneNotSupportedException {
    		return (super.clone());
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Record#setRecordName(String)
    	 */
    	public void setRecordName(String recordName) {
    		return;
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Record#equals()
    	 */
    	public boolean equals(Object object) {
    		return (super.equals(object));
    	}
    
    	/**
    	 * @generated
    	 * @see javax.resource.cci.Streamable#read(InputStream)
    	 */
    	public void read(java.io.InputStream inputStream)
    			throws java.io.IOException {
    		byte[] input = new byte[inputStream.available()];
    		inputStream.read(input);
    		buffer_ = input;
    	}
    
    	/**
    	 * @generated
    	 */
    	public void setBytes(byte[] bytes) {
    		buffer_ = bytes;
    	}
    
    }

フィードバック