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.HybsSystem;
019    import org.opengion.hayabusa.resource.GUIInfo;
020    import org.opengion.fukurou.util.Attributes;
021    import org.opengion.fukurou.util.XHTMLTag ;
022    
023    import static org.opengion.fukurou.util.StringUtil.nval ;
024    
025    import javax.servlet.http.HttpServletRequest ;
026    
027    /**
028     * サブミãƒ?ƒˆãƒœã‚¿ãƒ³ã®è¡¨ç¤ºã‚??ç”»é¢é·ç§»å…ˆæƒ…å ±(forward.jsp)を制御ã™ã‚‹ã‚¿ã‚°ã§ã™ã?
029     *
030     * ユーザーæƒ??ã¨ç”»é¢æƒ??ã‚’å?ã«ã€ãƒ­ãƒ¼ãƒ«/グループã?権é™ã¨
031     * RW(読å?書込)モードを比è¼?—ã¦ã€æ¡ä»¶ãŒæ?ç«‹ã—ãªã??åˆã?,ãã?BODY部を表示ã—ãªã?‚ˆã?«
032     * ã§ãã¾ã™ã?
033     * ã¾ãŸã?エãƒ?‚£ãƒ?ƒˆè¨­å®šã‚’行ã£ã¦ã?‚‹å ´åˆã?ã€å¼·åˆ¶çš?«æ›¸ãè¾¼ã¿ç¦æ­¢ã«è¨­å®šã—ã¦ã?¾ã™ã?
034     * ã“ã?ã‚¿ã‚°ã¯ã€form å†?«ä¸?¤ã?‘記述ã—ã¦ãã ã•ã„ã€?
035     *
036     * @og.formSample
037     * â—å½¢å¼ï¼?lt;og:writeCheck />
038     * â—body?šã‚ã‚?EVAL_BODY_INCLUDE:BODYをインクルードã—ã€{@XXXX} ã¯è§£æžã—ã¾ã›ã‚“)
039     *
040     * â—Tag定義??
041     *   <og:writeCheck
042     *       useGamenId         ã€TAG】GAMENID,BACK_GAMENID 属æ?を付加ã™ã‚‹ã‹ã©ã?‹[true/false]を設定ã—ã¾ã?åˆæœŸå€¤:true)
043     *       roles              ã€TAG】画é¢ã¨åˆ¥ã«ãƒ­ãƒ¼ãƒ«ã‚ºã‚’与ãˆã¾ã?
044     *       writable           ã€TAG】書ãè¾¼ã¿å¯èƒ½ã‹ã©ã?‹[true/false]を設定ã—ã¾ã?åˆæœŸå€¤:true)
045     *       useDummy           ã€TAG】IE用ãƒ?ƒŸãƒ¼inputã‚’å?力ã™ã‚‹ã‹ã©ã?‹
046     *       caseKey            ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶ã‚­ãƒ¼ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)
047     *       caseVal            ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶å€¤ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)
048     *       caseNN             ã€TAG】指定ã?値ãŒã?null/ゼロæ–?­—å? ã§ãªã??å?Not Null=NN)ã¯ã€ã“ã®ã‚¿ã‚°ã¯ä½¿ç”¨ã•れã¾ã?åˆæœŸå€¤:true)
049     *       caseNull           ã€TAG】指定ã?値ãŒã?null/ゼロæ–?­—å? ã®å ´åˆã?ã€ã“ã®ã‚¿ã‚°ã¯ä½¿ç”¨ã•れã¾ã?åˆæœŸå€¤:true)
050     *       debug              ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
051     *   >   ... Body ...
052     *   </og:writeCheck>
053     *
054     * â—使用ä¾?
055     *      <og:writeCheck>
056     *          <og:submit  value="copy"     lbl="COPY"    accesskey="C" />
057     *          <og:submit  value="modify"   lbl="MODIFY"  accesskey="M" />
058     *          <og:submit  value="delete"   lbl="DELETE"  accesskey="D" />
059     *          <jsp:directive.include file="{@SYS.JSP}/common/Excel_direct.jsp"  />
060     *          <br />
061     *      </og:writeCheck>
062     *
063     * @og.group ç”»é¢åˆ¶å¾¡
064     *
065     * @version  4.0
066     * @author   Kazuhiko Hasegawa
067     * @since    JDK5.0,
068     */
069    public class WriteCheckTag extends CommonTagSupport {
070            //* ã“ã?プログラãƒ??VERSIONæ–?­—å?を設定ã—ã¾ã™ã?       {@value} */
071            private static final String VERSION = "5.7.8.0 (2014/07/04)" ;
072    
073            private static final long serialVersionUID = 578020140704L ;
074            
075            private static final String DUMMY_INPUT = "HYBS_DUMMY_NPUT";    // 5.6.1.0 (2013/02/01)
076    
077            // 3.5.4.0 (2003/11/25) BACK_GAMENID を使用ã™ã‚‹/ã—ãªã?‚’æŒ?®šã—ã¾ã™ã?
078            private boolean         useGamenId      = true;
079            // 3.5.4.0 (2003/11/25) ç”»é¢ã¨åˆ¥ã«ãƒ­ãƒ¼ãƒ«ã‚ºã‚’与ãˆã‚‰ã‚Œã¾ã™ã?
080            private String          roles           = null;
081    
082            // 3.8.5.1 (2006/05/08) 書ãè¾¼ã¿è¨±å¯å±žæ? writable 追åŠ?
083            private boolean         writable        = true;
084            
085            // 5.5.4.2 (2012/06/13) EDITNAME利用時ã?ç·¨é›?
086            private boolean useEdit = HybsSystem.sysBool( "USE_EDIT_WITH_EDITNAME" );
087            private boolean outputEditName = HybsSystem.sysBool( "OUTPUT_EDITNAME" ); // EditNameã‚’hidden出力ã™ã‚‹ã‹
088            
089            // 5.6.1.0 (2013/02/01) display:noneã®ãƒ?ƒŸãƒ¼å‡ºåŠ?
090            private boolean useDummy        = HybsSystem.sysBool( "USE_DUMMY_INPUT" );
091    
092            /**
093             * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
094             *
095             * @og.rev 3.0.1.2 (2003/03/07) forward.jsp ã®ä»£æ›¿ç”¨ CommonForwardTag ã‚’æ–°è¦ä½œæ?
096             * @og.rev 3.5.4.0 (2003/11/25) useGamenId ã§ã€BACK_GAMENID を使用ã™ã‚‹/ã—ãªã?‚’æŒ?®šã—ã¾ã™ã?
097             * @og.rev 3.8.5.1 (2006/05/08) 書ãè¾¼ã¿è¨±å¯å±žæ? writable 追åŠ?
098             * @og.rev 5.6.1.0 (2013/02/01) display:noneã®dummyインプットを出力ã™ã‚?
099             * @og.rev 5.7.8.0 (2014/07/04) caseKey,caseVal,caseNN,caseNull 属æ?を追åŠ?
100             *
101             * @return      後続å?ç??æŒ?¤º
102             */
103            @Override
104            public int doStartTag() {
105                    if( writable && isWrite() && useTag() ) {                       // 5.7.8.0 (2014/07/04) 追�
106    //              if( writable && isWrite() ) {
107                            if( useDummy ){ jspPrint( getDummyInput() ); }  // 5.6.1.0 (2013/02/01)
108                            if( useGamenId ) { jspPrint( getHiddenTag() ); }
109                            return EVAL_BODY_INCLUDE ;
110                    }
111    //              else {
112                            return SKIP_BODY ;
113    //              }
114            }
115    
116            /**
117             * タグリブオブジェクトをリリースã—ã¾ã™ã?
118             * キャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨­å®šã‚’行ã„ã¾ã™ã?
119             *
120             * @og.rev 3.5.4.0 (2003/11/25) æ–°è¦è¿½åŠ??
121             * @og.rev 3.8.5.1 (2006/05/08) 書ãè¾¼ã¿è¨±å¯å±žæ? writable 追åŠ?
122             * @og.rev 5.5.4.2 (2012/07/13) EDITNAME利用時ã?ç·¨é›?
123             * @og.rev 5.6.1.0 (2013/02/01) useDummy
124             *
125             */
126            @Override
127            protected void release2() {
128                    super.release2();
129                    useGamenId      = true;
130                    roles           = null;
131                    writable        = true;                 // 3.8.5.1 (2006/05/08)
132                    useEdit         = HybsSystem.sysBool( "USE_EDIT_WITH_EDITNAME" ); // 5.5.4.2 (2012/06/13) 
133                    outputEditName = HybsSystem.sysBool( "OUTPUT_EDITNAME" ); // 5.5.4.2 (2012/06/13) 
134                    useDummy        = HybsSystem.sysBool( "USE_DUMMY_INPUT" ); // 5.6.1.0 (2013/02/01)
135            }
136    
137            /**
138             * guiInfo.isWrite() ã®çµæžœã‚’ãƒã‚§ãƒ?‚¯[true/false]ã—ã¦è¿”ã—ã¾ã™ã?
139             *
140             * @og.rev 3.5.4.0 (2003/11/25) ç”»é¢ã¨åˆ¥ã«ãƒ­ãƒ¼ãƒ«ã‚ºã‚’与ãˆã‚‰ã‚Œã¾ã™ã?
141             * @og.rev 4.3.0.0 (2008/07/04) ロールモードã?ルãƒå¯¾å¿?
142             * @og.rev 5.3.6.0 (2011/06/01) エãƒ?‚£ãƒ?ƒˆè¨­å®šæ™‚ã‚‚false(書ãè¾¼ã¿ç¦æ­¢)ã¨ã™ã‚‹ã€?
143             * @og.rev 5.5.4.2 (2012/07/13) EDITNAME利用時ã?登録
144             *
145             * @return      書ãè¾¼ã¿è¨±å¯ãŒã‚ã‚‹ã‹ã©ã?‹[true/false]
146             */
147            private boolean isWrite() {
148                    boolean rtnFlag = false;
149    
150                    // 4.0.0 (2005/11/30) æŒ?®šã?ロールãŒã?アクセス許å¯ã®å ´åˆã?ã€å?力ã—ã¾ã™ã?
151                    if( roles != null ) {
152                            rtnFlag = getUser().isAccess( roles ) ;
153                    }
154                    else {
155                            GUIInfo guiInfo = (GUIInfo)getSessionAttribute( HybsSystem.GUIINFO_KEY );
156                            rtnFlag = guiInfo.isWrite() ;           // 4.0.0 (2005/01/31)
157                    }
158    
159                    // 5.3.6.0 (2011/06/01) エãƒ?‚£ãƒ?ƒˆè¨­å®šæ™‚ã‚‚false(書ãè¾¼ã¿ç¦æ­¢)ã¨ã™ã‚‹ã€?
160                    if( rtnFlag ) {
161                            String editName = getRequestValue( "editName" );
162                            if( editName != null && editName.length() > 0 ) {
163                                    // rtnFlag = false;
164                                    rtnFlag = useEdit; // 5.5.4.2 (2012/07/13)
165                            }
166                    }
167    
168                    return rtnFlag;
169            }
170    
171            /**
172             * éš?—属æ?ã‚¿ã‚°ã‚’å–å¾—ã—ã¾ã™ã?
173             *
174             * ※å†?ƒ¨ã‚³ãƒ¼ãƒ«ç”¨
175             *
176             * @og.rev 3.0.1.2 (2003/03/07) forward.jsp ã®ä»£æ›¿ç”¨ CommonForwardTag ã‚’æ–°è¦ä½œæ?
177             * @og.rev 3.1.7.0 (2003/05/02) ç”»é¢?©?¤ã®ã‚»ãƒ?ƒˆã§ã€è?ç”»é¢ã‚’ã?BACK_GAMENID ã€?£›ã?先をã€GAMENID ã«ã™ã‚‹ã€?
178             * @og.rev 3.1.8.0 (2003/05/16) BACK_GAMENID ã‚’ã?リクエスト情報ã§ã¯ãªãã?GUI.KEY を利用ã™ã‚‹ã‚ˆã†ã«ä¿®æ­£ã€?
179             * @og.rev 3.5.5.5 (2004/04/23) hidden ã®å‡ºåŠ›ã«ã€XHTMLTag.hidden を使用ã—ã¾ã™ã?
180             * @og.rev 3.8.8.2 (2007/01/26) hidden ã®å‡ºåŠ›ã«ã€GAMENID を使用ã—ã¾ã™ã?
181             * @og.rev 5.5.4.2 (2012/07/13) editNameã®å‡ºåŠ›ã‚’è¿½åŠ?
182             *
183             * @return      éš?—属æ?ã‚¿ã‚°
184             */
185            private final String getHiddenTag() {
186    
187                    String requestURI = ((HttpServletRequest)getRequest()).getRequestURI();
188                    if( requestURI == null ) {
189                            return "";
190                    }
191    
192                    int index2 = requestURI.lastIndexOf( '/' );
193                    String jspID   = requestURI.substring( index2 + 1 );
194                    String gamenId = getGUIInfoAttri( "KEY" );                      // 4.0.0 (2005/01/31)
195    
196                    StringBuilder strRet = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
197                    strRet.append( XHTMLTag.hidden( "BACK_GAMENID",gamenId ) );
198                    strRet.append( XHTMLTag.hidden( "BACK_JSPID"  ,jspID   ) );
199                    strRet.append( XHTMLTag.hidden( "GAMENID"     ,gamenId ) );             // 3.8.8.2
200                    if( useEdit & outputEditName ){ // 5.5.4.2 (2012/07/13)
201                            strRet.append( XHTMLTag.hidden( "editName"     ,getRequestValue( "editName" ) ) );
202                    }
203    
204                    return strRet.toString();
205            }
206            
207            /**
208             * IEã®Enterボタンã®ãŸã‚ã®ã€?š ã—input出力ã?
209             *
210             * ※å†?ƒ¨ã‚³ãƒ¼ãƒ«ç”¨
211             *
212             * @og.rev 5.6.1.0 (2013/02/01) æ–°è¦ä½œæ?
213             *
214             * @return      éš?—属æ?ã‚¿ã‚°
215             */
216            private final String getDummyInput() {
217    
218                    StringBuilder strRet = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
219                    Attributes attributes = new Attributes();
220                    attributes.set("name",DUMMY_INPUT);
221                    attributes.set("value",null);
222                    attributes.set("optionAttributes","style='display:none;'");
223                    strRet.append( XHTMLTag.input( attributes ) );
224    
225                    return strRet.toString();
226            }
227    
228            /**
229             * ã€TAG】GAMENID,BACK_GAMENID 属æ?を付加ã™ã‚‹ã‹ã©ã?‹[true/false]を設定ã—ã¾ã?åˆæœŸå€¤:true)ã€?
230             *
231             * @og.tag
232             * "true"ã®å ´åˆã?ã€BACK_GAMENID ã€BACK_JSPID 属æ?ã‚?hidden ã§å‡ºåŠ›ã—ã¾ã™ã?
233             * "false"ã®å ´åˆã?ã€ä»˜åŠ ã—ã¾ã›ã‚“ã€?
234             * ã“れã¯ã€æˆ»ã‚‹ãƒªãƒ³ã‚¯ã‚’作æ?ã™ã‚‹å ´åˆã«åˆ©ç”¨ã•れã¾ã™ã?
235             * åˆæœŸå€¤ã¯ã€?"true"ã§ã™ã?
236             * ボタンã§é·ç§»å…ˆãŒãƒãƒƒãƒ—ã‚¢ãƒ??ç”»é¢ã®å ´åˆã«ã€æˆ»ã‚‹ãƒªãƒ³ã‚¯ã‚’å?ã—ã¦ã‚‚戻れãªã?‚ºã€?
237             * ãã?よã†ãªã‚±ãƒ¼ã‚¹ã§ã¯ false ã«ã—ã¾ã™ã?
238             *
239             * @og.rev 3.5.4.0 (2003/11/25) useGamenId ã®ãŸã‚ã«ã€æ–°è¦è¿½åŠ??
240             *
241             * @param       flag  BACK_GAMENID 属æ?を付加ã™ã‚‹ã‹ã©ã?‹
242             *          "true"(追åŠ?™ã‚?/ãã?ä»?追åŠ?—ãªã?
243             */
244            public void setUseGamenId( final String flag ) {
245                    useGamenId = nval( getRequestParameter( flag ),useGamenId );
246            }
247    
248            /**
249             * ã€TAG】画é¢ã¨åˆ¥ã«ãƒ­ãƒ¼ãƒ«ã‚ºã‚’与ãˆã¾ã™ã?
250             *
251             * @og.tag
252             * ã“ã?ロールズãŒä¸Žãˆã‚‰ã‚ŒãŸå?åˆã?ã€ç”»é¢ã®ãƒ­ãƒ¼ãƒ«ã‚ºã§ã¯ãªãã?
253             * 個別ã®ãƒ­ãƒ¼ãƒ«ã‚ºã‚’使用ã—ã¦ã€è¡¨ç¤ºã®åˆ¶å¾¡ã‚’行ã„ã¾ã™ã?
254             *
255             * @og.rev 3.5.4.0 (2003/11/25) æ–°è¦è¿½åŠ??
256             *
257             * @param       rols  ロールズ
258             */
259            public void setRoles( final String rols ) {
260                    roles = nval( getRequestParameter( rols ),roles );
261            }
262    
263            /**
264             * ã€TAG】書ãè¾¼ã¿å¯èƒ½ã‹ã©ã?‹[true/false]を設定ã—ã¾ã?åˆæœŸå€¤:true)ã€?
265             *
266             * @og.tag
267             * 書込ã¿è¨±å¯ã™ã‚‹å ´åˆã?, trueã€è¨±å¯ã—ãªã??åˆã?, true 以外を設定ã—ã¾ã™ã?
268             * ãƒ?ƒ•ォルトå?ã¯ã€äº’æ›æ€§ã®ãŸã‚ã€true ã§ã™ã?
269             * ã“ã“ã§ã€false を設定ã™ã‚‹ã¨BODY部ã®å†?®¹ã¯è¡¨ç¤ºã•れã¾ã›ã‚“。true を設定ã—ãŸå?åˆã?
270             * 通常通り BODY 部ã¯è¡¨ç¤ºã•れã¾ã™ã?
271             * ã“れã¯ã€roles ã®ç°¡æ˜“版ã¨ã—ã¦ã€å¤–部ã‹ã‚‰ ON/OFF を制御ã™ã‚‹ã®ã«ä½¿ç”¨ã§ãã¾ã™ã?
272             *
273             * @og.rev 3.8.5.1 (2006/05/08) 書ãè¾¼ã¿è¨±å¯å±žæ? writable 追åŠ?
274             *
275             * @param       flag 書込㿠[true:許å¯/ãれ以å¤?ç¦æ­¢]
276             */
277            public void setWritable( final String flag ) {
278                    writable = nval( getRequestParameter( flag ),writable );
279            }
280            
281            /**
282             * ã€TAG】EDITNAME利用時ã?ç·¨é›?‚’å¯èƒ½ã«ã™ã‚‹ã‹è¨­å®šã—ã¾ã?
283             *              (åˆæœŸå€¤:USE_EDIT_WITH_EDITNAME[={@og.value org.opengion.hayabusa.common.SystemData#USE_EDIT_WITH_EDITNAME}])ã€?
284             *
285             * @og.tag
286             * カラãƒ??ä¸¦ã³æ›¿ãˆã‚„表示等を設定ã—ãŸå?åˆã«ç·¨é›?¯èƒ½ã«ã™ã‚‹ã‹ã‚’設定ã—ã¾ã™ã?
287             * (ã¤ã¾ã‚Šã?ボタンをå?ã™ã‹ã©ã?‹ã‚’コントロールã—ã¾ã?
288             * (åˆæœŸå€¤:USE_EDIT_WITH_EDITNAME[={@og.value org.opengion.hayabusa.common.SystemData#USE_EDIT_WITH_EDITNAME}])ã€?
289             *
290             * @og.rev 5.5.4.2 (2012/07/13) æ–°è¦è¿½åŠ?
291             *
292             * @param   flag ç·¨é›?¯èƒ½ã«[ã™ã‚‹(true)/ã—ãªã?false)]
293             * @see         org.opengion.hayabusa.common.SystemData#USE_EDIT_WITH_EDITNAME
294             */
295            public void setUseEdit( final String flag ) {
296                    useEdit = nval( getRequestParameter( flag ), useEdit );
297            }
298            
299            /**
300             * ã€TAG】editNameã‚’hiddenã‚¿ã‚°ã§å‡ºåŠ›ã™ã‚‹ã‹è¨­å®šã—ã¾ã?
301             *              (åˆæœŸå€¤:OUTPUT_EDITNAME[={@og.value org.opengion.hayabusa.common.SystemData#OUTPUT_EDITNAME}])ã€?
302             *
303             * @og.tag
304             * é¸æŠžã—ãŸeditNameを次ã®ç”»é¢ã«é€ä¿¡ã™ã‚‹ãŸã‚ã®hiddenã‚¿ã‚°ã‚’å?力ã—ã¾ã™ã?
305             * editNameを次ã®ç”»é¢ã«é€ä¿¡ã—ãŸå ´åˆã?é€ä¿¡å…ˆç”»é¢ã®viewã‚¿ã‚°ã®viewFormTypeã?
306             * å†?ƒ¨çš?«è‡ªå‹•ã‚»ãƒ?ƒˆã•れるãŸã‚注æ„ãŒå¿?¦ã§ã™ã?
307             * useEditãŒfalseã®å ´åˆã?出力ã—ã¾ã›ã‚“ã€?
308             * (åˆæœŸå€¤:OUTPUT_EDITNAME[={@og.value org.opengion.hayabusa.common.SystemData#OUTPUT_EDITNAME}])ã€?
309             *
310             * @og.rev 5.5.4.2 (2012/07/13) æ–°è¦è¿½åŠ?
311             *
312             * @param   flag ç·¨é›?¯èƒ½ã«[ã™ã‚‹(true)/ã—ãªã?false)]
313             * @see         org.opengion.hayabusa.common.SystemData#OUTPUT_EDITNAME
314             */
315            public void setOutputEditName( final String flag ) {
316                    outputEditName = nval( getRequestParameter( flag ), outputEditName );
317            }
318            
319            /**
320             * ã€TAG】ダミã?ã®inputã‚¿ã‚°(display:none)ã‚’å?力ã™ã‚‹ã‹è¨­å®šã—ã¾ã™ã?
321             *              (åˆæœŸå€¤:USE_DUMMY_INPUT[={@og.value org.opengion.hayabusa.common.SystemData#USE_DUMMY_INPUT}])ã€?
322             *
323             * @og.tag
324             * ãƒ?ƒŸãƒ¼ã®inputã‚¿ã‚°(display:none)ã‚’å?力ã™ã‚‹ã‹è¨­å®šã—ã¾ã™ã?
325             * IEã§ã¯inputãŒï¼‘ã¤ã?‘ã®å ´åˆã«ã‚¨ãƒ³ã‚¿ãƒ¼ã§ã®submitãŒä¸Šæ‰‹ãã„ã‹ãªã?Ÿã‚ã?ãƒ?ƒŸãƒ¼ã‚’é?ç½®ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
326             * trueã«è¨­å®šã™ã‚‹ã¨WriteCheckã‚¿ã‚°ãŒãƒ€ãƒŸã?を(常ã«?‰å?力ã—ã¾ã™ã?
327             * (åˆæœŸå€¤:USE_DUMMY_INPUT[={@og.value org.opengion.hayabusa.common.SystemData#USE_DUMMY_INPUT}])ã€?
328             *
329             * @og.rev 5.6.1.0 (2013/02/01) æ–°è¦è¿½åŠ?
330             *
331             * @param   flag 出力[ã™ã‚‹(true)/ã—ãªã?false)]
332             * @see         org.opengion.hayabusa.common.SystemData#USE_DUMMY_INPUT
333             */
334            public void setUseDummy( final String flag ) {
335                    useDummy = nval( getRequestParameter( flag ), useDummy );
336            }
337    
338            /**
339             * ã“ã?オブジェクトã?æ–?­—å?表ç¾ã‚’è¿”ã—ã¾ã™ã?
340             * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã?
341             *
342             * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?­—å?表ç¾
343             */
344            @Override
345            public String toString() {
346                    return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
347                                    .println( "VERSION"             ,VERSION        )
348                                    .println( "useGamenId"  ,useGamenId     )
349                                    .println( "roles"               ,roles          )
350                                    .println( "Other..."    ,getAttributes().getAttribute() )
351                                    .fixForm().toString() ;
352            }
353    }