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.plugin.column; 017 018 import org.opengion.hayabusa.db.AbstractEditor; 019 import org.opengion.hayabusa.db.CellEditor; 020 import org.opengion.hayabusa.db.DBColumn; 021 import org.opengion.fukurou.util.XHTMLTag; 022 import org.opengion.hayabusa.common.HybsSystem; 023 024 /** 025 * å…ˆé??‘æ–‡å—ç›®ãŒã?アンãƒ??ãƒã?(_) ã®å ´åˆã«ã€æ›¸è¾¼ã¿ç¦æ¢å±žæ?()を強制çš?«ä»˜ä¸Žã™ã‚‹ã‚¯ãƒ©ã‚¹ã§ã™ã? 026 * 027 * ・ãƒ??タベã?ã‚¹ã«æ›¸ãè¾¼ã‚?¨ãã«ã¯ã€??常ã®ã‚¢ãƒ³ãƒ??ãƒã?ç„¡ã—ã?æ–?—å?ã¨ã—ã¾ã™ã? 028 * 029 * ã“ã?エãƒ?‚£ã‚¿ã¯eventColumnã«å¯¾å¿œã—ã¦ã?¾ã›ã‚“ã€? 030 * 031 * カラãƒ??表示ã«å¿?¦ãªå±žæ?ã¯, DBColumn オブジェクãƒ?よりå–り出ã—ã¾ã™ã? 032 * ã“ã?クラスã¯ã€DBColumn オブジェクト毎ã«?‘ã¤ä½œæ?ã•れã¾ã™ã? 033 * 034 * @og.rev 3.0.0.4 (2003/02/26) æ–°è¦è¿½åŠ? 035 * @og.group ãƒ??ã‚¿ç·¨é›? 036 * 037 * @version 4.0 038 * @author Kazuhiko Hasegawa 039 * @since JDK5.0, 040 */ 041 public class Editor_WRITABLE extends AbstractEditor { 042 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */ 043 private static final String VERSION = "4.0.0.0 (2005/08/31)" ; 044 045 /** 046 * ãƒ?ƒ•ォルトコンストラクターã€? 047 * ã“ã?コンストラクターã§ã€åŸºæœ¬ã‚ªãƒ–ジェクトを作æ?ã—ã¾ã™ã? 048 * 049 * @og.rev 3.1.1.1 (2003/04/03) å?‚ªãƒ–ジェクトã‹ã‚‰è?åˆ??インスタンスを返ã™ãƒ•ァクトリメソãƒ?ƒ‰ã‚’追åŠ?? 050 * 051 */ 052 public Editor_WRITABLE() { 053 // 4.3.4.4 (2009/01/01) 054 // super(); 055 } 056 057 /** 058 * コンストラクターã€? 059 * 060 * @og.rev 3.1.1.1 (2003/04/03) å?‚ªãƒ–ジェクトã‹ã‚‰è?åˆ??インスタンスを返ã™ãƒ•ァクトリメソãƒ?ƒ‰ã‚’追åŠ?? 061 * @og.rev 3.5.6.0 (2004/06/18) XHTMLTag ã® å†?ƒ¨é…å? INPUT_KEY ã‚’éš è”½ã—ã¾ã™ã? 062 * 063 * @param clm DBColumnオブジェクãƒ? 064 */ 065 private Editor_WRITABLE( final DBColumn clm ) { 066 super( clm ); 067 tagBuffer.add( XHTMLTag.inputAttri( attributes ) ); 068 } 069 070 /** 071 * å?‚ªãƒ–ジェクトã‹ã‚‰è?åˆ??インスタンスを返ã—ã¾ã™ã? 072 * 自åˆ??身をã‚ャãƒ?‚·ãƒ¥ã™ã‚‹ã®ã‹ã?æ–°ãŸã«ä½œæ?ã™ã‚‹ã®ã‹ã?ã€å„サブクラスã®å®Ÿè£?« 073 * ã¾ã‹ã•れã¾ã™ã? 074 * 075 * @og.rev 3.1.1.1 (2003/04/03) å?‚ªãƒ–ジェクトã‹ã‚‰è?åˆ??インスタンスを返ã™ãƒ•ァクトリメソãƒ?ƒ‰ã‚’追åŠ?? 076 * @og.rev 3.1.2.1 (2003/04/10) synchronized ã‚’ã?削除ã—ã¾ã™ã? 077 * 078 * @param clm DBColumnオブジェクãƒ? 079 * 080 * @return CellEditorオブジェクãƒ? 081 */ 082 public CellEditor newInstance( final DBColumn clm ) { 083 return new Editor_WRITABLE( clm ); 084 } 085 086 /** 087 * ãƒ??ã‚¿ã®ç·¨é›?”¨æ–?—å?ã‚’è¿”ã—ã¾ã™ã? 088 * 089 * @og.rev 3.5.4.2 (2003/12/15) 書込ã¿ç¦æ¢å±žæ?("_")ã®ãƒ??ã‚¿ã¯,hidden ã§å‡ºåŠ›ã—ã¦ãŠãã¾ã™ã? 090 * @og.rev 3.5.5.5 (2004/04/23) hidden ã®å‡ºåŠ›ã«ã€XHTMLTag.hidden を使用ã—ã¾ã™ã? 091 * 092 * @param value 入力å? 093 * 094 * @return ãƒ??ã‚¿ã®ç·¨é›?”¨æ–?—å? 095 */ 096 @Override 097 public String getValue( final String value ) { 098 099 if( value != null && value.length() >= 1 && value.charAt(0) == '_' ) { 100 String val = value.substring( 1 ); 101 return val + XHTMLTag.hidden( name,val ); // 3.5.5.5 (2004/04/23) 102 } 103 104 return super.getValue( value ); 105 } 106 107 /** 108 * name属æ?を変ãˆãŸã?ãƒ??タ表示/ç·¨é›?”¨ã®HTMLæ–?—å?を作æ?ã—ã¾ã™ã? 109 * ãƒ??ブル上ã? name 㫠行番å·ã‚’ä»˜åŠ ã—ã¦ã€åå‰_è¡Œç•ªå· ã§ç™»éŒ²ã™ã‚‹ã‚ーを作æ?ã? 110 * ãƒªã‚¯ã‚¨ã‚¹ãƒˆæƒ…å ±ã‚’ï¼‘ã¤æ¯Žã?フィールドã§å‡¦ç?§ãã¾ã™ã? 111 * 112 * @og.rev 2.0.0.3 (2002/09/26) optionAttributes 属æ?ã« "$i" を使ã?¨ãã?行数ã«ç½®ãæ›ã‚‹æ©Ÿè?を追åŠ?? 113 * @og.rev 3.5.4.2 (2003/12/15) 書込ã¿ç¦æ¢å±žæ?("_")ã®ãƒ??ã‚¿ã¯,hidden ã§å‡ºåŠ›ã—ã¦ãŠãã¾ã™ã? 114 * @og.rev 3.5.5.0 (2004/03/12) åå‰ã¨è¡Œç•ªå·ã®åŒºåˆ?‚Šè¨˜å·("__")ã‚’ã?HybsSystem.JOINT_STRING ã«å¤‰æ›´ã€? 115 * @og.rev 3.5.5.5 (2004/04/23) hidden ã®å‡ºåŠ›ã«ã€XHTMLTag.hidden を使用ã—ã¾ã™ã? 116 * 117 * @param row è¡Œç•ªå· 118 * @param value 入力å? 119 * 120 * @return ãƒ??タ表示/ç·¨é›?”¨ã®æ–?—å? 121 */ 122 @Override 123 public String getValue( final int row,final String value ) { 124 125 if( value != null && value.length() >= 1 && value.charAt(0) == '_' ) { 126 String val = value.substring( 1 ); 127 String nm = name + HybsSystem.JOINT_STRING + row; 128 return val + XHTMLTag.hidden( nm,val ); // 3.5.5.5 (2004/04/23) 129 } 130 131 return super.getValue( row,value ); 132 } 133 }