J2C ドックレットを使用したソース・コードの編集

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

始める前に

ドックレット・タグは、Java EE 環境に配置する準備ができたアプリケーション成果物を生成するための、拡張可能な処理機構を提供する注釈プログラミング・タグです。ドックレット・タグを J2C アプリケーション内の Java ソース・コードに追加する場合、これらの成果物は自動的に生成されます (保存するために CTRL+S を押した後)。

このタスクについて

ドックレット・タグは、Java ソースに Javadoc スタイルのコメントとして挿入されます。注釈ベースのプログラミング・タグの属性には、スコープ (コード内の、タグがある場所) および多重度 (タグを使用できる頻度) が含まれます。

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

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

ドックレット・タグ属性

手順

  1. スコープ: スコープは、 Java ソース・ファイル内のタグのロケーションを表します。有効なスコープ・オプションは、パッケージ、クラス、メソッド、およびフィールドの 4 つです。
    表 1. スコープ属性
    属性 定義
    パッケージ パッケージ・コメントに追加されます。このスコープ属性は、 Java パッケージ全体、モジュール、またはアプリケーション全体に適用できる情報を提供します。
    クラス クラス・コメントに追加されます。このスコープ属性は、概して、 Java タイプまたはインターフェースについて情報を提供します。
    メソッド クラス内の特定のメソッドのコメントに追加されます。 このスコープ属性は、クラス内の参照済みメソッドについての情報を提供します。
    フィールド クラス内の特定のフィールドのコメントに追加されます。 このスコープ属性は、クラス内の参照済みフィールドに固有の情報を提供します。
  2. 多重度: 多重度は、 特定のタグを 1 つの Java ソース・ファイルに表示できる回数を示します。ドックレット表記では、多重度は タグ名の後に括弧で囲んで示されます。
    表 2. 多重度
    ヘッダー ヘッダー
    0..1 Java ソース・ファイルで、タグをゼロ回または 1 回使用できることを示します。
    0..n Java ソース・ファイルで、タグをゼロ回から無限の回数まで使用できることを示します。

タスクの結果

: 以下の例は、IMS™ multisegment output チュートリアルからの抜粋です。
  1. 「エンタープライズ・エクスプローラー」ビューで、プロジェクトを展 開して 「Java リソース」を展開し 、 「JavaSource」セクションを 展開する。
  2. Java パッケージ・ファイル (この場合は 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;
    	}
    
    }

フィードバック