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 }