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    import org.opengion.hayabusa.common.HybsSystemException;
019    import org.opengion.hayabusa.html.TabData;
020    import static org.opengion.fukurou.util.StringUtil.nval ;
021    
022    /**
023     * ã€å»?­¢ã€‘タブã?インã§ã€??目をå?割ã—ã¦è¡¨ç¤ºã™ã‚‹ã‚¿ã‚°ã®ã‚¿ãƒ–ãã®ã‚‚ã?を作æ?ã—ã¾ã™ã?
024     *
025     * ※ ã“ã?ã‚¿ã‚°ã¯å»?­¢äºˆå®šã§ã™ã?tabLinkã€tabList ã®ä½¿ç”¨ã‚’ã”æ¤œè¨Žãã?•ã??
026     *
027     * ä¸?¤ã®å¤§ããªHTMLã‚’ã?タブを使用ã™ã‚‹ã“ã¨ã§è¤?•°ã®å¡Šã«åˆ?‰²è¡¨ç¤ºã§ãã¾ã™ã?
028     * åˆ?‰²ã•れãŸå„タブã?ã€ä¸?¤ã®HTMLã®ãŸã‚ã€ã‚¿ãƒ–é–“ã®ç§»å‹•ã«ã‚ˆã‚‹æƒ??ã®æ¶ˆå¤±ã¯ã‚りã¾ã›ã‚“ã€?
029     * ã¾ãŸã?ä¸?¤ã®HTMLã®ãŸã‚ã€ã‚¿ãƒ–ã«ã¾ãŸãŒã£ã¦å…¥åŠ›ã—ãŸå?ã¯ã€ã™ã¹ã¦ ä¸?‹¬é€ä¿¡ã™ã‚‹ã“ã¨ã‚?
030     * å¯èƒ½ã§ã™ã?(Formã‚¿ã‚°ã§ã€å?ã¦ã®ã‚¿ãƒ–ã‚’ã¾ã¨ã‚ã¦è¨˜è¿°ã—ã¦ã?‚Œã°)
031     * 個ã?ã®ã‚¿ãƒ–ã?æŒ?®šã?ã€ã“ã® tab タグを使用ã—ã¾ã™ã?
032     * ãれらをã€ã‚¿ãƒ–テーブル ã® BODY 部ã«è¨˜è¿°ã—ã¾ã™ã?タブã?ã€è¨˜è¿°ã•れãŸé?番ã«ã€?
033     * 設定ã•れã¾ã™ã?
034     * タブテーブル ã® BODY 部ã«è¨˜è¿°ã™ã‚‹ã‚¿ãƒ–ã?ã€å¿?šä¸?¤ä»¥ä¸Šå¿?¦ã§ã™ã?
035     *
036     * @og.formSample
037     * â—å½¢å¼ï¼?lt;og:tabTable  ...  >
038     *             <og:tab name="paGE1" lbl="page 1" >
039     *                    <jsp:directive.include file="paGE1.jsp" />
040     *             </og:tab>
041     *             <og:tab name="page2" lbl="page 2" >
042     *                    <jsp:directive.include file="page2.jsp" />
043     *             </og:tab>
044     *         </og:tabTable >
045     * â—body?šã‚ã‚?
046     *
047     * â—Tag定義??
048     *   <og:tab
049     *       lbl                ã€TAG】ラベルリソースã®ãƒ©ãƒ™ãƒ«IDを指定ã—ã¾ã?
050     *       name               ã€å»?­¢ã€‘è¦ç´?«å¯¾ã—ã¦å›ºæœ‰ã?åå‰(id)ã‚’ã¤ã‘ã‚‹å ´åˆã«è¨­å®šã—ã¾ã?
051     *       term               ã€å»?­¢ã€‘å?ç?™ã‚‹æ¡ä»¶ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)
052     *       termList           ã€å»?­¢ã€‘å?ç?™ã‚‹æ¡ä»¶ã‚’å«ã‚?‚ˆã?ªæ–?­—å?を指定ã—ã¾ã?
053     *       delTerm            ã€å»?­¢ã€‘å?ç?—ãªã?‚¿ãƒ–ã‚’é¸æŠžã™ã‚‹æ¡ä»¶ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)
054     *       delTermList        ã€å»?­¢ã€‘å?ç?—ãªã?¡ä»¶ã‚’å«ã‚?‚ˆã?ªæ–?­—å?を指定ã—ã¾ã?
055     *       style              ã€TAG】タブã«ä¸Žãˆã‚?åˆæœŸ style 属æ?を指定ã—ã¾ã?
056     *       keys               ã€å»?­¢ã€‘タブãŒé¸æŠžçжæ…?OPENé¸æŠžã‚¿ãƒ–æ™‚)ã«ä½¿ç”¨ã™ã‚‹ã‚­ãƒ¼ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
057     *       vals               ã€å»?­¢ã€‘タブãŒé¸æŠžçжæ…?OPENé¸æŠžã‚¿ãƒ–æ™‚)ã«ä½¿ç”¨ã™ã‚‹å€¤ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
058     *       debug              ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
059     *   >   ... Body ...
060     *   </og:tab>
061     *
062     * â—使用ä¾?
063     *  <og:tabTable>
064     *    <og:tab lbl="page 1">
065     *      <table summary="layout" >
066     *        <tr>
067     *          <og:column name="SYSTEM_ID" must="true" />
068     *          <og:column name="COLUMN_NAME" />
069     *          <og:column name="RENDERER"    />
070     *        </tr>
071     *      </table>
072     *    </og:tab>
073     *    <og:tab lbl="page 2">
074     *      <table summary="layout" >
075     *        <tr>
076     *          <og:column name="DBTYPE"      />
077     *          <og:column name="NAME_JA"     />
078     *          <og:column name="EDITOR"      />
079     *        </tr>
080     *      </table>
081     *    </og:tab>
082     *  </og:tabTable>
083     *
084     * @og.rev 3.5.6.5 (2004/08/09) æ–°è¦ä½œæ?
085     * @og.group (å»?­¢)ç”»é¢éƒ¨å“?
086     *
087     * @version  4.0
088     * @author       Kazuhiko Hasegawa
089     * @since    JDK5.0,
090     * @deprecated マイクロソフトã®ã‚¹ã‚¯ãƒªãƒ—トã«ä¾å­˜ã™ã‚‹ãŸã‚ã?å»?­¢ã—ã¾ã™ã?tabLinkã€tabList ã®ä½¿ç”¨ã‚’ã”æ¤œè¨Žãã?•ã??
091     */
092    @Deprecated public class TabTag extends CommonTagSupport {
093            //* ã“ã?プログラãƒ??VERSIONæ–?­—å?を設定ã—ã¾ã™ã?       {@value} */
094            private static final String VERSION = "4.0.0.0 (2005/08/31)" ;
095    
096            private static final long serialVersionUID = 400020050831L ;
097    
098            private String text = null;
099            private String name = null;
100            private String body = null;
101            private String style = null;    // 3.8.6.1 (2006/10/24)
102    
103            private String[] keys           = null;         // 3.8.6.2 (2006/11/01)
104            private String[] vals           = null;         // 3.8.6.2 (2006/11/01)
105            private Object[] backVals       = null;         // 3.8.6.2 (2006/11/01)
106    
107            // 3.8.6.1 (2006/10/20)
108            private String  term            = null;
109            private String  termList        = null;
110            private String  delTerm         = null;
111            private String  delTermList     = null;
112            private boolean isOpen          = false;                // term    ã?termList    ã«å«ã¾ã‚Œã¦ã?‚‹å ´å?true
113            private boolean isDelete        = false;                // delTerm ã?delTermList ã«å«ã¾ã‚Œã¦ã?‚‹å ´å?true
114            private TabTableTag tabTable = null;
115    
116            /**
117             * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
118             *
119             * @og.rev 3.8.6.2 (2006/11/01) keys,vals属æ?ã®å‡¦ç?‚’追åŠ?
120             *
121             * @return      後続å?ç??æŒ?¤º
122             */
123            @Override
124            public int doStartTag() {
125                    tabTable = (TabTableTag)findAncestorWithClass( this,TabTableTag.class );
126                    // isSelected ã®åˆ¤æ–­ã¯ã€OPEN/DELETE 関係ãªãã?タブã?æ•°ã?‘実行ã™ã‚‹å¿?¦ãŒã‚ã‚‹ã€?
127                    if( tabTable != null ) {
128                            isOpen = tabTable.isSelected();
129                    }
130                    else {
131                            String errMsg = "tabTable ã‚¿ã‚°ã® BODY部ã§ä½¿ç”¨ã—ã¦ãã ã•ã„ã€?;
132                            throw new HybsSystemException( errMsg );
133                    }
134    
135                    // delæ¡ä»¶ãƒªã‚¹ãƒˆã«å­˜åœ¨ã™ã‚‹å ´åˆã?ã€DELETEé¸æŠžã‚¿ãƒ–ã¨ã—ã¦èªè­˜ã•れるã€?
136                    isDelete = ( delTermList != null && delTerm != null && delTermList.indexOf( delTerm ) >= 0 ) ;
137                    if( isDelete ) { return(SKIP_BODY); }                   // Body を評価ã—ãªã?
138    
139                    // isSelected ã®åˆ¤æ–­ ãŒå„ªå…ˆã•れるã€?
140                    if( !isOpen ) {
141                            // æ¡ä»¶ãƒªã‚¹ãƒˆã«å­˜åœ¨ã™ã‚‹å ´åˆã?ã€OPENé¸æŠžã‚¿ãƒ–ã¨ã—ã¦èªè­˜ã•れるã€?
142                            isOpen = ( termList != null && term != null && termList.indexOf( term ) >= 0 ) ;
143                    }
144    
145                    // keys変数ã®å…??値ã®é€?¿ã¨vals 値ã®è¨­å®šã?
146                    if( isOpen && keys != null && keys.length > 0 ) {
147                            int size = keys.length;
148                            backVals = new Object[size];
149                            for( int i=0; i<size; i++ ) {
150                                    String key = keys[i];
151                                    if( key != null && key.length() > 0 ) {
152                                            backVals[i] = getRequestAttribute( key );
153                                            setRequestAttribute( key,vals[i] );
154                                    }
155                            }
156                    }
157    
158                    return( EVAL_BODY_BUFFERED );   // Body を評価ã™ã‚‹ã€? extends BodyTagSupport æ™?
159            }
160    
161            /**
162             * Taglibã®ã‚¿ã‚°æœ¬ä½“を処ç?™ã‚?doAfterBody() ã‚?オーãƒã?ライドã—ã¾ã™ã?
163             *
164             * @return      後続å?ç??æŒ?¤º(SKIP_BODY)
165             */
166            @Override
167            public int doAfterBody() {
168                    body = getBodyString();
169                    return(SKIP_BODY);
170            }
171    
172            /**
173             * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
174             *
175             * @og.rev 3.8.6.1 (2006/10/20) termã€termListã€action属æ?を追åŠ?
176             * @og.rev 3.8.6.2 (2006/11/01) keys,vals属æ?ã®å‡¦ç?‚’追åŠ?
177             *
178             * @return      後続å?ç??æŒ?¤º
179             */
180            @Override
181            public int doEndTag() {
182                    debugPrint();           // 4.0.0 (2005/02/28)
183                    if( !isDelete ) {
184                            // keys変数ã®å…??å€¤ã®æˆ»ã—ã?
185                            if( isOpen && keys != null && keys.length > 0 ) {
186                                    int size = keys.length;
187                                    for( int i=0; i<size; i++ ) {
188                                            String key = keys[i];
189                                            if( key != null && key.length() > 0 ) {
190                                                    if( backVals[i] != null ) {
191                                                            setRequestAttribute( key,backVals[i] );
192                                                    }
193                                                    else {
194                                                            removeRequestAttribute( key );
195                                                    }
196                                            }
197                                    }
198                            }
199    
200                            text = getMsglbl();
201    
202                            TabData tab = new TabData( text,name,body,isOpen,style );
203                            tabTable.addTabData( tab );
204                    }
205                    return(EVAL_PAGE);
206            }
207    
208            /**
209             * タグリブオブジェクトをリリースã—ã¾ã™ã?
210             * キャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨­å®šã‚’行ã„ã¾ã™ã?
211             *
212             * @og.rev 3.8.6.1 (2006/10/20) termã€termListã€action属æ?を追åŠ?
213             * @og.rev 3.8.6.2 (2006/11/01) keys, vals, isOpen, delTerm, delTermList 属æ?を追åŠ?
214             */
215            @Override
216            protected void release2() {
217                    super.release2();
218                    text            = null;
219                    name            = null;
220                    body            = null;
221                    term            = null;
222                    termList        = null;
223                    delTerm         = null;
224                    delTermList     = null;
225                    style           = null;
226                    keys            = null;         // 3.8.6.2 (2006/11/01)
227                    vals            = null;         // 3.8.6.2 (2006/11/01)
228                    isOpen          = false;        // 3.8.6.2 (2006/11/01)
229                    isDelete        = false;        // 3.8.6.2 (2006/11/01)
230                    tabTable        = null;
231            }
232    
233            /**
234             * ã€å»?­¢ã€‘è¦ç´?«å¯¾ã—ã¦å›ºæœ‰ã?åå‰(id)ã‚’ã¤ã‘ã‚‹å ´åˆã«è¨­å®šã—ã¾ã™ã?
235             *
236             * @og.tag åå‰ã‚»ãƒ?ƒˆ
237             *
238             * @param   name åå‰
239             * @deprecated クラスãŒå»?­¢ã•れã¾ã—ãŸã€?
240             */
241            @Deprecated public void setName( final String name ) {
242                    this.name = getRequestParameter( name );
243            }
244    
245            /**
246             * ã€å»?­¢ã€‘å?ç?™ã‚‹æ¡ä»¶ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)ã€?
247             *
248             * @og.tag
249             * termListã§ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å­—å?ã«ã€termæ–?­—å?(大æ–?­?å°æ–‡å­—ã?区別ã‚り)ã?
250             * å«ã¾ã‚Œã¦ã?‚Œã°ã€OPENé¸æŠžã‚¿ãƒ–ã¨ã—ã¦å‡¦ç?—ã¾ã™ã?
251             * OPENé¸æŠžã‚¿ãƒ–ã§ãªã?‚¿ãƒ–ã?ã€å?期å?OPENã«ãªã‚‰ãªã? ã‘ã§ã€ã‚¿ãƒ–ãã®ã‚‚ã?ã¯è¡¨ç¤ºã•れã¾ã™ã?
252             * OPENé¸æŠžã¨DELETEé¸æŠžãŒç«¶åˆã—ãŸå?åˆã?ã€DELETEé¸æŠžãŒå„ªå…ˆã•れã¾ã™ã?
253             * åˆæœŸå€¤ã¯ã€?null ã§ã™ã?
254             *
255             * @og.rev 3.8.6.1 (2006/10/20) æ–°è¦è¿½åŠ?
256             *
257             * @param       flag 処ç?™ã‚‹æ¡ä»¶
258             * @deprecated クラスãŒå»?­¢ã•れã¾ã—ãŸã€?
259             */
260            @Deprecated public void setTerm( final String flag ) {
261                    term = nval( getRequestParameter( flag ),term );
262            }
263    
264            /**
265             * ã€å»?­¢ã€‘å?ç?™ã‚‹æ¡ä»¶ã‚’å«ã‚?‚ˆã?ªæ–?­—å?を指定ã—ã¾ã™ã?
266             *
267             * @og.tag
268             * termListã§ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å­—å?ã«ã€termæ–?­—å?(大æ–?­?å°æ–‡å­—ã?区別ã‚り)ã?
269             * å«ã¾ã‚Œã¦ã?‚Œã°ã€OPENé¸æŠžã‚¿ãƒ–ã¨ã—ã¦å‡¦ç?—ã¾ã™ã?
270             * 例ãˆã°ã€?A","B","C" ã¨ã?†æ–?­—å?ãŒã?term ã§æŒ?®šã•れãŸ
271             * å ´åˆã«å‡¦ç?™ã‚‹ã‚ˆã?«ã—ãŸã??åˆã?ã€?A|B|C" ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
272             * åˆæœŸå€¤ã¯ã€?null ã§ã™ã?
273             * 判定ã?ã€æ–‡å­—å?ã‚’å«ã‚?‹ã©ã?‹ãªã®ã§ã€?¼‘文字ã?ã¿ã®å ´åˆã?ã€?|"区åˆ?‚Šã«ã™ã‚‹
274             * å¿?¦ã?ã‚りã¾ã›ã‚“ã€?
275             * OPENé¸æŠžã¨DELETEé¸æŠžãŒç«¶åˆã—ãŸå?åˆã?ã€DELETEé¸æŠžãŒå„ªå…ˆã•れã¾ã™ã?
276             *
277             * @og.rev 3.8.6.1 (2006/10/20) æ–°è¦è¿½åŠ?
278             *
279             * @param       list 処ç?™ã‚‹æ¡ä»¶(indexOf ã«ã‚ˆã‚‹å«ã‚?å«ã¾ãªã?ˆ¤å®?
280             * @deprecated クラスãŒå»?­¢ã•れã¾ã—ãŸã€?
281             */
282            @Deprecated public void setTermList( final String list ) {
283                    termList = nval( getRequestParameter( list ),termList );
284            }
285    
286            /**
287             * ã€å»?­¢ã€‘å?ç?—ãªã?‚¿ãƒ–ã‚’é¸æŠžã™ã‚‹æ¡ä»¶ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)ã€?
288             *
289             * @og.tag
290             * delTermListã§ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å­—å?ã«ã€delTermæ–?­—å?(大æ–?­?å°æ–‡å­—ã?区別ã‚り)ã?
291             * å«ã¾ã‚Œã¦ã?‚Œã°ã€DELETEé¸æŠžã‚¿ãƒ–ã¨ã—ã¦å‡¦ç?—ã¾ã™ã?
292             * DELETEé¸æŠžã‚¿ãƒ–ã?ã€ã‚¿ãƒ–ãã®ã‚‚ã?ãŒè¡¨ç¤ºã•れã¾ã›ã‚“ã€?
293             * ãŸã ã—ã?タブã?selectIndex ã¯ã€DELETEã•れãŸã‚¿ãƒ–ã‚‚å«ã‚ã¦ã€ã‚«ã‚¦ãƒ³ãƒˆã•れã¾ã™ã?ã§ã€?
294             * JSPã§ã®è¨­å®šæ™‚ã®é ?•ªãŒã‚¤ãƒ³ãƒ?ƒƒã‚¯ã‚¹ç•ªå·ã«ãªã‚Šã¾ã™ã?
295             * OPENé¸æŠžã¨DELETEé¸æŠžãŒç«¶åˆã—ãŸå?åˆã?ã€DELETEé¸æŠžãŒå„ªå…ˆã•れã¾ã™ã?
296             * åˆæœŸå€¤ã¯ã€?null ã§ã™ã?
297             *
298             * @og.rev 3.8.6.2 (2006/11/01) æ–°è¦è¿½åŠ?
299             *
300             * @param       flag DELETEé¸æŠžã‚¿ãƒ–æ¡ä»¶
301             * @deprecated クラスãŒå»?­¢ã•れã¾ã—ãŸã€?
302             */
303            @Deprecated public void setDelTerm( final String flag ) {
304                    delTerm = nval( getRequestParameter( flag ),delTerm );
305            }
306    
307            /**
308             * ã€å»?­¢ã€‘å?ç?—ãªã?¡ä»¶ã‚’å«ã‚?‚ˆã?ªæ–?­—å?を指定ã—ã¾ã™ã?
309             *
310             * @og.tag
311             * delTermListã§ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å­—å?ã«ã€delTermæ–?­—å?(大æ–?­?å°æ–‡å­—ã?区別ã‚り)ã?
312             * å«ã¾ã‚Œã¦ã?‚Œã°ã€DELETEé¸æŠžã‚¿ãƒ–ã¨ã—ã¦å‡¦ç?—ã¾ã™ã?
313             * 例ãˆã°ã€?A","B","C" ã¨ã?†æ–?­—å?ãŒã?delTerm ã§æŒ?®šã•れãŸ
314             * å ´åˆã«å‡¦ç?—ãªã?‚ˆã?«ã—ãŸã??åˆã?ã€?A|B|C" ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
315             * åˆæœŸå€¤ã¯ã€?null ã§ã™ã?
316             * 判定ã?ã€æ–‡å­—å?ã‚’å«ã‚?‹ã©ã?‹ãªã®ã§ã€?¼‘文字ã?ã¿ã®å ´åˆã?ã€?|"区åˆ?‚Šã«ã™ã‚‹
317             * å¿?¦ã?ã‚りã¾ã›ã‚“ã€?
318             * OPENé¸æŠžã¨DELETEé¸æŠžãŒç«¶åˆã—ãŸå?åˆã?ã€DELETEé¸æŠžãŒå„ªå…ˆã•れã¾ã™ã?
319             *
320             * @og.rev 3.8.6.2 (2006/11/01) æ–°è¦è¿½åŠ?
321             *
322             * @param       list DELETEé¸æŠžã‚¿ãƒ–æ¡ä»¶æ–?­—å?(indexOf ã«ã‚ˆã‚‹å«ã‚?å«ã¾ãªã?ˆ¤å®?
323             */
324            @Deprecated public void setDelTermList( final String list ) {
325                    delTermList = nval( getRequestParameter( list ),delTermList );
326            }
327    
328            /**
329             * ã€å»?­¢ã€‘タブã«ä¸Žãˆã‚?åˆæœŸ style 属æ?を指定ã—ã¾ã™ã?
330             *
331             * @og.tag
332             * ts:tab 本体ã§ã¯ã€å?æœŸé¸æŠžæ™‚ã®ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆã‚’ã€defaultStyle ã¨
333             * selectedStyle ã§ä¸Žãˆã‚‹å¿?¦ãŒã‚りã¾ã™ã?ã“れã¯ã€id 属æ?を設定ã—ã¦ã€?
334             * 外部ã§ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆã‚’定義ã™ã‚‹å½¢å¼ã§æŒ?®šã§ãã¾ã›ã‚“ã€?
335             * ã“ã“ã§æŒ?®šã—ã?style 属æ? ã¯ã€tabTableTag ã§ä¸Žãˆã‚?style 属æ? より優先度ã¯
336             * 高ããªã‚Šã¾ã™ã?
337             * ã“ã“ã§ã® style ã¯ã€ã‚¿ãƒ–ã? OPENé¸æŠžã«ã¯é–¢ä¿‚ã‚りã¾ã›ã‚“ã€?
338             *
339             * @og.rev 3.8.6.1 (2006/10/24) æ–°è¦è¿½åŠ?
340             *
341             * @param       st タブã«ä¸Žãˆã‚?åˆæœŸ style 属æ?
342             * @deprecated クラスãŒå»?­¢ã•れã¾ã—ãŸã€?
343             */
344            @Deprecated public void setStyle( final String st ) {
345                    style = nval( getRequestParameter( st ),style );
346            }
347    
348            /**
349             * ã€å»?­¢ã€‘タブãŒé¸æŠžçжæ…?OPENé¸æŠžã‚¿ãƒ–æ™‚)ã«ä½¿ç”¨ã™ã‚‹ã‚­ãƒ¼ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
350             *
351             * @og.tag
352             * タブã?BODYå†?ƒ¨ã§ã®ã¿æœ‰åйãªscope="request"変数を定義ã§ãã¾ã™ã?
353             * æ¡ä»¶ã¯ã€termã€termList ã«ã‚ˆã‚‹OPENé¸æŠžã‚¿ãƒ–æ™‚ã«ã®ã¿æŒ?®šã?タブã?
354             * BODY部å†??ã¿ã«æœ‰åйã«ãªã‚Šã¾ã™ã?
355             * タブã?å‰ã«è¨­å®šã•れã¦ã?‚‹ scope="request"変数 ã¯é€?¿ã•れã€BODY部ã?
356             * 終äº?—ãŸæ™‚点ã§ã€å?ã®å¤‰æ•°ã«å€¤ãŒæˆ»ã•れã¾ã™ã?
357             * åˆ?§£æ–¹æ³•ã?ã€CSV変数をå?ã«åˆ?§£ã—ã¦ã‹ã‚‰ã€getRequestParameter ã§å€¤ã‚’å–å¾—ã—ã¾ã™ã?
358             * ã“ã†ã—ãªã?¨ãƒ??タ自身ã«ã‚«ãƒ³ãƒžã‚’æŒã£ã¦ã?‚‹å ´åˆã«åˆ?§£ã‚’ミスる為ã§ã™ã?
359             *
360             * @og.rev 3.8.6.2 (2006/11/01) æ–°è¦è¿½åŠ?
361             *
362             * @param       key キー(CSV形�
363             * @deprecated クラスãŒå»?­¢ã•れã¾ã—ãŸã€?
364             */
365            @Deprecated public void setKeys( final String key ) {
366                    keys = getCSVParameter( key );
367            }
368    
369            /**
370             * ã€å»?­¢ã€‘タブãŒé¸æŠžçжæ…?OPENé¸æŠžã‚¿ãƒ–æ™‚)ã«ä½¿ç”¨ã™ã‚‹å€¤ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
371             *
372             * @og.tag
373             * タブã?BODYå†?ƒ¨ã§ã®ã¿æœ‰åйãªscope="request"変数を定義ã§ãã¾ã™ã?
374             * æ¡ä»¶ã¯ã€termã€termList ã«ã‚ˆã‚‹OPENé¸æŠžã‚¿ãƒ–æ™‚ã«ã®ã¿æŒ?®šã?タブã?
375             * BODY部å†??ã¿ã«æœ‰åйã«ãªã‚Šã¾ã™ã?
376             * タブã?å‰ã«è¨­å®šã•れã¦ã?‚‹ scope="request"変数 ã¯é€?¿ã•れã€BODY部ã?
377             * 終äº?—ãŸæ™‚点ã§ã€å?ã®å¤‰æ•°ã«å€¤ãŒæˆ»ã•れã¾ã™ã?
378             * åˆ?§£æ–¹æ³•ã?ã€CSV変数をå?ã«åˆ?§£ã—ã¦ã‹ã‚‰ã€getRequestParameter ã§å€¤ã‚’å–å¾—ã—ã¾ã™ã?
379             * ã“ã†ã—ãªã?¨ãƒ??タ自身ã«ã‚«ãƒ³ãƒžã‚’æŒã£ã¦ã?‚‹å ´åˆã«åˆ?§£ã‚’ミスる為ã§ã™ã?
380             *
381             * @param       val 値(CSV形�
382             * @deprecated クラスãŒå»?­¢ã•れã¾ã—ãŸã€?
383             */
384            @Deprecated public void setVals( final String val ) {
385                    vals = getCSVParameter( val );
386            }
387    
388            /**
389             * ã“ã?オブジェクトã?æ–?­—å?表ç¾ã‚’è¿”ã—ã¾ã™ã?
390             * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã?
391             *
392             * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?­—å?表ç¾
393             */
394            @Override
395            public String toString() {
396                    return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
397                                    .println( "VERSION"             ,VERSION        )
398                                    .println( "text"                ,text           )
399                                    .println( "name"                ,name           )
400                                    .println( "body"                ,body           )
401                                    .println( "term"                ,term           )
402                                    .println( "termList"    ,termList       )
403                                    .println( "Other..."    ,getAttributes().getAttribute() )
404                                    .fixForm().toString() ;
405            }
406    }