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 */ 016package org.opengion.hayabusa.taglib; 017 018import org.opengion.fukurou.util.XHTMLTag; 019 020/** 021 * 指定の位置に画像を配置するHTML拡張タグです。 022 * 023 * @og.formSample 024 * ●形式:<og:img src="・・・" alt="・・・"; /> 025 * ●body:なし 026 * 027 * ●Tag定義: 028 * <og:img 029 * name 【HTML】名前を指定します 030 * src ○【HTML】表示させる画像のURLを指定します(必須)。 031 * alt ○【HTML】画像が表示されない場合、代わりに表示させるテキストを指定します(必須)。 032 * longdesc 【HTML】画像部分についての詳しい情報があるURL(longdesc)を指定します 033 * width 【HTML】横幅をピクセル数または%で指定します 034 * height 【HTML】縦幅をピクセル数または%で指定します 035 * usemap 【HTML】クライアントサイドクリッカブルを指定します 036 * ismap 【HTML】サーバーサイドクリッカブルを指定します 037 * clazz 【HTML】要素に対して class 属性を設定します 038 * id 【HTML】要素に対して固有の名前(id)をつける場合に設定します 039 * title 【HTML】要素に対する補足的情報(title)を設定します 040 * style 【HTML】この要素に対して適用させるスタイルシート(style)を設定します 041 * lang 【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します 042 * dir 【HTML】文字表記の方向(dir)を指定します 043 * onClick 【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');") 044 * onBlur 【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();") 045 * onFocus 【HTML】JavaScriptのイベント onFocus を設定します 046 * ondblClick 【HTML】JavaScriptのイベント ondblClick を設定します 047 * onMouseDown 【HTML】JavaScriptのイベント onMouseDown を設定します 048 * onMouseUp 【HTML】JavaScriptのイベント onMouseUp を設定します 049 * onMouseMove 【HTML】JavaScriptのイベント onMouseMove を設定します 050 * onMouseOut 【HTML】JavaScriptのイベント onMouseOut を設定します 051 * onMouseOver 【HTML】JavaScriptのイベント onMouseOver を設定します 052 * roles 【TAG】ロールをセットします 053 * caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20) 054 * caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20) 055 * caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) 056 * caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) 057 * caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) 058 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) 059 * /> 060 * 061 * ●使用例 062 * <og:img src="{@URL}" alt="sample" /> 063 * 064 * src : 表示させる画像のURL(必須) 065 * alt : 画像が表示されない場合、代わりに表示させるテキスト(必須) 066 * 067 * @og.group 画面部品 068 * 069 * @version 4.0 070 * @author Kohei Naruse 071 * @since JDK5.0, 072 */ 073public class ImageTag extends HTMLTagSupport { 074 /** このプログラムのVERSION文字列を設定します。 {@value} */ 075 private static final String VERSION = "6.4.2.0 (2016/01/29)" ; 076 private static final long serialVersionUID = 642020160129L ; 077 078 /** 079 * デフォルトコンストラクター 080 * 081 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 082 */ 083 public ImageTag() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 084 085 /** 086 * 指定位置に画像を配置するためのイメージタグを作成します。 087 * 088 * @return イメージタグ 089 * @og.rtnNotNull 090 */ 091 @Override 092 protected String makeTag() { 093 // 6.1.1.0 (2015/01/17) refactoring. ロジックの見直し 094 095 return XHTMLTag.img( getAttributes() ) ; 096 } 097 098 /** 099 * 【HTML】名前を指定します。 100 * 101 * @og.tag 名前を指定します。 102 * 103 * @param name 名前 104 */ 105 public void setName( final String name ) { 106 set( "name",getRequestParameter( name ) ); 107 } 108 109 /** 110 * 【HTML】表示させる画像のURLを指定します。 111 * 112 * @og.tag 表示させる画像のURLを指定します。 113 * 114 * @param src 画像のURL 115 */ 116 public void setSrc( final String src ) { 117 set( "src",getRequestParameter( src ) ); 118 } 119 120 /** 121 * 【HTML】画像が表示されない場合、代わりに表示させるテキストを指定します。 122 * 123 * @og.tag 画像が表示されない場合、代わりに表示させるテキストを指定します。 124 * 125 * @param alt 代替テキスト 126 */ 127 public void setAlt( final String alt ) { 128 set( "alt",getRequestParameter( alt ) ); 129 } 130 131 /** 132 * 【HTML】画像部分についての詳しい情報があるURL(longdesc)を指定します。 133 * 134 * @og.tag longdescを指定します。 135 * 136 * @param longdesc 詳しい情報があるURL 137 */ 138 public void setLongdesc( final String longdesc ) { 139 set( "longdesc",getRequestParameter( longdesc ) ); 140 } 141 142 /** 143 * 【HTML】横幅をピクセル数または%で指定します。 144 * 145 * @og.tag 横幅を指定します。 146 * 147 * @param width 横幅(ピクセル数または%) 148 */ 149 public void setWidth( final String width ) { 150 set( "width",getRequestParameter( width ) ); 151 } 152 153 /** 154 * 【HTML】縦幅をピクセル数または%で指定します。 155 * 156 * @og.tag 縦幅を指定します。 157 * 158 * @param height 縦幅(ピクセル数または%) 159 */ 160 public void setHeight( final String height ) { 161 set( "height",getRequestParameter( height ) ); 162 } 163 164 /** 165 * 【HTML】クライアントサイドクリッカブルを指定します。 166 * 167 * @og.tag クライアントサイドクリッカブルを指定します。 168 * 169 * @param usemap クライアントサイドクリッカブル 170 */ 171 public void setUsemap( final String usemap ) { 172 set( "usemap",getRequestParameter( usemap ) ); 173 } 174 175 /** 176 * 【HTML】サーバーサイド・イメージマップを使用する場合に指定します。 177 * 178 * @og.tag サーバーサイドクリッカブルを指定します。 179 * 180 * @param ismap クライアントサイドクリッカブル 181 */ 182 public void setIsmap( final String ismap ) { 183 set( "ismap",getRequestParameter( ismap ) ); 184 } 185 186 /** 187 * タグの名称を、返します。 188 * 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。 189 * 190 * @og.rev 4.0.0.0 (2005/01/31) 新規追加 191 * 192 * @return タグの名称 193 * @og.rtnNotNull 194 */ 195 @Override 196 protected String getTagName() { 197 return "img" ; 198 } 199}