001 /* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016 package org.opengion.hayabusa.taglib; 017 018 /** 019 * JSPアプリケーションに対してバ?ジョン管?きるようにコメントを 020 * 記述するためのタグです? 021 * 022 * バ?ジョン、ビルド番号、日付?変更??タイトルなどを記述できます? 023 * 変更?は、text属?か?BODY 部に記述します? 024 * パラメーター変数({@XXXX})は、使用できません? 025 * 026 * @og.formSample 027 * ●形式?lt;og:comment title="???" version="???" date="???" author="???" ??? /> 028 * ●body?あ? 029 * 030 * ●Tag定義?? 031 * <og:comment 032 * rdcCode 【TAG】コメント?設計変更要求コードを設定しま? 033 * title ○?TAG】コメント?タイトルを設定します?(??) 034 * version ○?TAG】コメント?バ?ジョンを設定します?(??) 035 * build 【TAG】コメント?ビルド番号を設定しま? 036 * date ○?TAG】コメント?変更日付を設定します?(??) 037 * author ○?TAG】コメント?変更?設定します?(??) 038 * text 【TAG】コメント??を設定しま? 039 * debug 【TAG】デバッグ??を?力するかど?[true/false]を指定しま?初期値:false) 040 * pgid 【TAG】コメント?プログラ?Dを設定しま? 041 * system 【TAG】コメント?シス?名称を設定しま? 042 * > ... Body ... 043 * </og:comment> 044 * 045 * ●使用? 046 * <og:comment 047 * title = "変更概? 048 * version = "001" 049 * date = "YYYY/MM/DD" 050 * author = "Y.MATSUI(Hybs) " 051 * rdcCode = "RDC00001" 052 * text = "当??の変更?を記述します?" 053 * /> 054 * 055 * <og:comment 056 * title = "変更概? 057 * version = "001" 058 * date = "YYYY/MM/DD" 059 * author = "Y.MATSUI(Hybs) " 060 * rdcCode = "RDC00001" 061 * build = "ビルド番号" (??属?では有りません? 062 * > 063 * 当??の変更?を記述します? 064 * </og:comment> 065 * 066 * @og.rev 2.1.3.0 (2002/12/12) JSP画面の管?に、画面に変更履歴を持たせる為のタグを新規作? 067 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 068 * @og.group 画面部? 069 * 070 * @version 4.0 071 * @author Kazuhiko Hasegawa 072 * @since JDK5.0, 073 */ 074 public class CommentTag extends CommonTagSupport { 075 //* こ?プログラ??VERSION??を設定します? {@value} */ 076 private static final String VERSION = "4.0.0.0 (2005/08/31)" ; 077 078 private static final long serialVersionUID = 400020050831L ; 079 080 private String rdcCode = null; 081 private String title = null; 082 private String version = null; 083 private String build = null; 084 private String date = null; 085 private String author = null; 086 private String text = null; 087 private String pgid = null; // 3.8.9.3 088 private String system = null; // 3.8.9.3 089 090 /** 091 * Taglibの開始タグが見つかったときに処??doStartTag() ?オーバ?ライドします? 092 * 093 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 094 * 095 * @return 後続???? 096 */ 097 @Override 098 public int doStartTag() { 099 if( text == null ) { 100 return( EVAL_BODY_BUFFERED ); // Body を評価する? extends BodyTagSupport ? 101 } 102 else { 103 return(SKIP_BODY); // Body を評価しな? 104 } 105 } 106 107 /** 108 * Taglibのタグ本体を処??doAfterBody() ?オーバ?ライドします? 109 * 110 * @og.rev 2.2.0.0 (2002/12/17) 中国?国際化)対?エンコード?取得方法変更 111 * @og.rev 3.0.0.0 (2002/12/25) StringUtil#changeString ? 112 * @og.rev 3.1.1.0 (2003/03/28) ボディの?を取得する??、CommonTagSupport で行う? 113 * 114 * @return 後続????(SKIP_BODY) 115 */ 116 @Override 117 public int doAfterBody() { 118 text = getBodyString(); 119 120 return(SKIP_BODY); 121 } 122 123 /** 124 * タグリブオブジェクトをリリースします? 125 * キャ?ュされて再利用される?で、フィールド?初期設定を行います? 126 * 127 * @og.rev 2.0.0.4 (2002/09/27) カスタ?グの release() メソ?を?追? 128 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応?release2() ?doEndTag()で呼ぶ? 129 * @og.rev 3.3.2.0 (2003/07/07) 設計変更要求コー?rdcCode)属?を追?? 130 * @og.rev 3.8.9.3 (2007/08/31) PGID(pgid)、シス?名称(system)属?を追?? 131 * 132 */ 133 @Override 134 protected void release2() { 135 super.release2(); 136 rdcCode = null; 137 title = null; 138 version = null; 139 build = null; 140 date = null; 141 author = null; 142 text = null; 143 pgid = null; // 3.8.9.3 144 system = null; // 3.8.9.3 145 } 146 147 /** 148 * 【TAG】コメント?設計変更要求コードを設定します? 149 * 150 * @og.tag コメント?設計変更要求コードを設定します? 151 * 152 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 153 * 154 * @param val 設計変更要求コー? 155 */ 156 public void setRdcCode( final String val ) { 157 rdcCode = val; 158 } 159 160 /** 161 * 【TAG】コメント?タイトルを設定します? 162 * 163 * @og.tag コメント?タイトルを設定します? 164 * 165 * @og.rev 2.2.0.0 (2002/12/17) 中国?国際化)対?エンコード?取得方法変更 166 * @og.rev 3.0.0.0 (2002/12/25) StringUtil#changeString ? 167 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 168 * 169 * @param val タイトル 170 */ 171 public void setTitle( final String val ) { 172 title = val; 173 } 174 175 /** 176 * 【TAG】コメント?バ?ジョンを設定します? 177 * 178 * @og.tag コメント?バ?ジョンを設定しま? 179 * 180 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 181 * 182 * @param val バ?ジョン 183 */ 184 public void setVersion( final String val ) { 185 version = val; 186 } 187 188 /** 189 * 【TAG】コメント?ビルド番号を設定します? 190 * 191 * @og.tag コメント?ビルド番号を設定しま? 192 * 193 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 194 * 195 * @param val ビルド番号 196 */ 197 public void setBuild( final String val ) { 198 build = val; 199 } 200 201 /** 202 * 【TAG】コメント?変更日付を設定します? 203 * 204 * @og.tag コメント?変更日付を設定しま? 205 * 206 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 207 * 208 * @param val 変更日? 209 */ 210 public void setDate( final String val ) { 211 date = val; 212 } 213 214 /** 215 * 【TAG】コメント?変更?設定します? 216 * 217 * @og.tag コメント?変更?設定しま? 218 * 219 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 220 * 221 * @param val 変更? 222 */ 223 public void setAuthor( final String val ) { 224 author = val; 225 } 226 227 /** 228 * 【TAG】コメント??を設定します? 229 * 230 * @og.tag コメント??を設定します? 231 * ここでの?は、BODY部に記述することも可能です? 232 * 両方に記述した場合?、text属?を優先します? 233 * 234 * @og.rev 3.3.1.0 (2003/06/24) text 属?追??パラメータ変数を使えな??変更? 235 * 236 * @param val コメント?? 237 */ 238 public void setText( final String val ) { 239 text = val; 240 } 241 242 /** 243 * 【TAG】コメント?プログラ?Dを設定します? 244 * 245 * @og.tag コメント?プログラ?Dを設定します? 246 * 247 * @param val プログラ?D 248 */ 249 public void setPgid( final String val ) { 250 pgid = val; 251 } 252 253 /** 254 * 【TAG】コメント?シス?名称を設定します? 255 * 256 * @og.tag コメント?シス?名称を設定します? 257 * 258 * @param val シス?名称 259 */ 260 public void setSystem( final String val ) { 261 system = val; 262 } 263 264 /** 265 * こ?オブジェクト???表現を返します? 266 * 基本???目?使用します? 267 * 268 * @return こ?クラスの??表現 269 */ 270 @Override 271 public String toString() { 272 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 273 .println( "VERSION" ,VERSION ) 274 .println( "rdcCode" ,rdcCode ) 275 .println( "title" ,title ) 276 .println( "version" ,version ) 277 .println( "build" ,build ) 278 .println( "date" ,date ) 279 .println( "author" ,author ) 280 .println( "text" ,text ) 281 .println( "pgid" ,pgid ) 282 .println( "system" ,system ) 283 .println( "Other..." ,getAttributes().getAttribute() ) 284 .fixForm().toString() ; 285 } 286 }