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.common.HybsSystemException; 020 import org.opengion.hayabusa.db.DBTableModel; 021 import org.opengion.hayabusa.db.DBColumn; 022 import org.opengion.hayabusa.io.TableReader; 023 import org.opengion.fukurou.util.ErrorMessage; 024 import org.opengion.fukurou.util.FileUtil; 025 import org.opengion.fukurou.util.Closer ; 026 import org.opengion.fukurou.util.StringUtil ; 027 import static org.opengion.fukurou.util.StringUtil.nval ; 028 029 import java.io.File; 030 import java.io.BufferedReader; 031 import java.util.Locale ; 032 import java.io.ObjectOutputStream; 033 import java.io.ObjectInputStream; 034 import java.io.IOException; 035 036 /** 037 * æŒ?®šã?ファイルã‚?DBTableModelオブジェクトã«èªã¿å–るファイル入力タグã§ã™ã? 038 * 039 * ãƒ??ã‚¿(DBTableModel)ã¨ã€ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ©(ReadTableã‚¿ã‚°)を与ãˆã¦ã€å¤–部ã‹ã‚‰ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ã™ã‚‹ã“ã¨ã§ã€? 040 * å?¨®å½¢å¼ã§ ãƒ??ã‚¿(DBTableModel)を表示ã•ã›ã‚‹ã“ã¨ã?ã§ãã¾ã™ã? 041 * ReadTableã‚¿ã‚° ã«å¯¾ã—ã¦ã€ã‚³ãƒžãƒ³ãƒ‰ã‚’与ãˆã‚‹ã“ã¨ã«ã‚ˆã‚Šã€å?部ã®ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ©ã®å®Ÿè£?«å¯¾å¿œã—ã? 042 * å½¢å¼ã§ãƒ??タを作æ?ã—ã¾ã™ã? 043 * ã™ã¹ã¦ã®èªå–ã?åˆæœŸã‚¯ãƒ©ã‚¹åã‚’ リソースファイル㮠TABLE_READER_DEFAULT_CLASS ã§æŒ?®šå¯èƒ½ã§ã™ã? 044 * ãã?å ´åˆã?AutoReader を指定ã™ã‚‹ã¨ã€Excel 㨠Default(ãƒ?‚スãƒ? ã‚’é?番ã«è©¦ã—ã¾ã™ã? 045 * 046 * 入力件数ã‚?DB.COUNT" ã‚ーã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã‚»ãƒ?ƒˆã—ã¦ã?¾ã™ã? 047 * 048 * @og.formSample 049 * â—å½¢å¼ï¼? 050 * <og:readTable 051 * command = "NEW" 052 * fileURL = "{@USER.ID}" èªã¿å–りå…?ƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå? 053 * filename = "{@filename}" èªã¿å–りå…?ƒ•ァイルå? 054 * encode = "UnicodeLittle" èªã¿å–りå…?ƒ•ァイルエンコードå 055 * maxRowCount = "10000" èªå–最大件数(0:[無制é™]) 056 * /> 057 * â—body?šãªã? 058 * 059 * â—Tag定義?? 060 * <og:readTable 061 * readerClass ã€TAG】実際ã«èªã¿å‡ºã™ã‚¯ãƒ©ã‚¹åã?略称(TableReader_**** ã® ****)ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?{@og.doc03Link readerClass åˆæœŸå€¤:Default}) 062 * fileURL ã€TAG】èªã¿å–りå…?ƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:FILE_URL) 063 * filename ã€TAG】ファイルを作æ?ã™ã‚‹ã¨ãã?ファイルåã‚’ã‚»ãƒ?ƒˆã—ã¾ã?(åˆæœŸå€¤:FILE_FILENAME[=file.xls]) 064 * encode ã€TAG】ファイルを作æ?ã™ã‚‹ã¨ãã?ファイルエンコーãƒ?‚£ãƒ³ã‚°åã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:FILE_ENCODE) 065 * maxRowCount ã€TAG】èªå–æ™‚ã®æœ?¤§å–り込ã¿ä»¶æ•°ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?(åˆæœŸå€¤:DB_MAX_ROW_COUNT[=1000])(0:[無制é™]) 066 * separator ã€TAG】å¯å¤‰é•·ãƒ•ァイルを作æ?ã™ã‚‹ã¨ãã?é ?›®åŒºåˆ?‚Šæ–?—ã‚’ã‚»ãƒ?ƒˆã—ã¾ã? 067 * tableId ã€TAGã€?通常使ã?¾ã›ã‚“)sessionã‹ã‚‰æ‰?¾—ã™ã‚?DBTableModelオブジェクトã? ID 068 * command ã€TAG】コマンãƒ?NEW,RENEW)ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:NEW) 069 * modifyType ã€TAG】ファイルå–ã‚Šè¾¼ã¿æ™‚ã? モãƒ?‚£ãƒ•ァイタイãƒ?A(追åŠ?,C(æ›´æ–°),D(削除))を指定ã—ã¾ã? 070 * displayMsg ã€TAG】query ã®çµæžœã‚’ç”»é¢ä¸Šã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒ?‚»ãƒ¼ã‚¸IDを指定ã—ã¾ã?åˆæœŸå€¤:MSG0033[ã€?»¶æ¤œç´¢ã—ã¾ã—ãŸ]) 071 * notfoundMsg ã€TAGã€‘æ¤œç´¢çµæžœãŒã‚¼ãƒä»¶ã®å ´åˆã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ãƒªã‚½ãƒ¼ã‚¹IDを指定ã—ã¾ã?åˆæœŸå€¤:MSG0077[対象ãƒ??ã‚¿ã¯ã‚りã¾ã›ã‚“ã§ã—ãŸ]) 072 * sheetName ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?シートåã‚’è¨å®šã—ã¾ã?åˆæœŸå€¤:æŒ?®šãªã? 073 * sheetNos ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?シート番å·ã‚’è¤?•°è¨å®šã§ãã¾ã?åˆæœŸå€¤:0) 074 * sheetConstKeys ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?固定å?ã¨ãªã‚‹ã‚«ãƒ©ãƒ?(CSVå½¢å¼? 075 * sheetConstAdrs ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?固定å?ã¨ãªã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹(è¡?åˆ?è¡?åˆ?・・・) 076 * nullBreakClm ã€TAG】カラãƒ??ã« NULL ãŒç¾ã‚ŒãŸæ™‚点ã§èªã¿å–ã‚Šã‚’ä¸æ¢ã—ã¾ã?è¤?•°Sheetã®å ´åˆã?ã€æ¬¡ã®Sheetã‚’èªã¿ã¾ã?ã€? 077 * columns ã€TAG】èªã¿å–りå…?ƒ•ァイルã®ã‚«ãƒ©ãƒ??ã‚’ã?外部(ã‚¿ã‚°)よりæŒ?®šã—ã¾ã? 078 * useNumber ã€TAGã€‘è¡Œç•ªå·æƒ??ã‚’ã?使用ã—ã¦ã?‚‹/ã—ã¦ã?ªã„[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:true) 079 * adjustColumns ã€TAG】èªã¿å–りå…?ƒ•ァイルã®ãƒ??タ変æ›ã‚’行ã†ã‚«ãƒ©ãƒ??をカンマ指定ã—ã¾ã? 080 * checkColumns ã€TAG】èªã¿å–りå…?ƒ•ã‚¡ã‚¤ãƒ«ã®æ•´åˆæ?ãƒã‚§ãƒ?‚¯ã‚’行ã†ã‚«ãƒ©ãƒ??をカンマ指定ã—ã¾ã? 081 * nullCheck ã€TAG】NULL ãƒã‚§ãƒ?‚¯ã™ã¹ãカラãƒ??をカンマ区åˆ?‚Š(CVSå½¢å¼?ã§æŒ?®šã—ã¾ã? 082 * language ã€TAG】タグå†?ƒ¨ã§ä½¿ç”¨ã™ã‚‹è¨?ªžã‚³ãƒ¼ãƒ‰[ja/en/zh/…]を指定ã—ã¾ã? 083 * stopZero ã€TAG】èªè¾¼ä»¶æ•°ãŒï¼ä»¶ã®ã¨ãå?ç?‚’続行ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false[続行ã™ã‚‹]) 084 * scope ã€TAG】ã‚ャãƒ?‚·ãƒ¥ã™ã‚‹å ´åˆã?スコープ[request/page/session/applicaton]を指定ã—ã¾ã?åˆæœŸå€¤:session) 085 * mainTrans ã€TAGã€?通常使ã?¾ã›ã‚“)ã‚¿ã‚°ã§å‡¦ç?•れる処ç?Œãƒ¡ã‚¤ãƒ³ã¨ãªã‚‹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å‡¦ç?‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:false) 086 * skipRowCount ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)ãƒ??ã‚¿ã®èªã¿é£›ã?ã—ä»¶æ•°ã‚’è¨å®šã—ã¾ã? 087 * useRenderer ã€TAG】èªå–å?ç?§ãƒ©ãƒ™ãƒ«ã‚’コードリソースã«é€?¤‰æ›ã‚’行ã†ã‹ã©ã?‹ã‚’指定ã—ã¾ã?(åˆæœŸå€¤:USE_TABLE_READER_RENDERER[=false]) 088 * caseKey ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶ã‚ーを指定ã—ã¾ã?åˆæœŸå€¤:null) 5.7.7.2 (2014/06/20) 089 * caseVal ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶å€¤ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null) 5.7.7.2 (2014/06/20) 090 * caseNN ã€TAG】指定ã?値ãŒã?null/ã‚¼ãƒæ–?—å? ã§ãªã??å?Not Null=NN)ã¯ã€ã“ã®ã‚¿ã‚°ã¯ä½¿ç”¨ã•れã¾ã?åˆæœŸå€¤:true) 5.7.7.2 (2014/06/20) 091 * caseNull ã€TAG】指定ã?値ãŒã?null/ã‚¼ãƒæ–?—å? ã®å ´åˆã?ã€ã“ã®ã‚¿ã‚°ã¯ä½¿ç”¨ã•れã¾ã?åˆæœŸå€¤:true) 5.7.7.2 (2014/06/20) 092 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false) 093 * /> 094 * 095 * â—使用ä¾? 096 * 097 * <og:readTable 098 * command = "NEW" 099 * readerClass = "Fixed" 固定長ãƒ??ã‚¿ã®èªã¿å–り 100 * modifyType = "{@modifyType}" èªå–時ã®ãƒ¢ãƒ?‚£ãƒ•ァイタイãƒ?A,Cç? 101 * fileURL = "{@USER.ID}" èªã¿å–りå…?ƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå? 102 * filename = "{@filename}" èªã¿å–りå…?ƒ•ァイルå? 103 * encode = "Shift_JIS" èªã¿å–りå…?ƒ•ァイルエンコードå 104 * maxRowCount = "10000" èªå–最大件数(0:[無制é™]) 105 * columns = "OYA,KO,HJO,SU,DYSTR,DYEND" #NAME ã«å¯¾å¿œã™ã‚‹ã‚«ãƒ©ãƒ?? 106 * useNumber = "false" 行番å·ã®å˜åœ¨ã—ãªã?ƒ‡ãƒ¼ã‚¿ã‚’èªã¿å–りã¾ã™ã? 107 * adjustColumns = "OYA,KO,HJO,SU" ãƒ??タ変æ›ã™ã‚‹ã‚«ãƒ©ãƒ??("*" ã§å…¨ã‚«ãƒ©ãƒ? 108 * checkColumns = "OYA,KO,HJO,SU" æ•´åˆæ?ãƒã‚§ãƒ?‚¯ã™ã‚‹ã‚«ãƒ©ãƒ??("*" ã§å…¨ã‚«ãƒ©ãƒ? 109 * nullCheck = "OYA,KO,SU" NULLãƒã‚§ãƒ?‚¯ã‚’実行ã—ã¾ã?"*" ã§å…¨ã‚«ãƒ©ãƒ? 110 * stopZero = "true" å–å¾?ä»¶ã®å ´åˆã«ä»¥é™ã?処ç?‚’åœæ¢ã—ã¾ã? 111 * skipRowCount = "4" ãƒ??ã‚¿ã®èªã¿é£›ã?ã—ä»¶æ•°(èªã¿è¾¼ã¿é–‹å§‹ã?ã€ã“ã®æ•°å—+1行目ã‹ã‚‰) 112 * /> 113 * 114 * @og.group ファイル入åŠ? 115 * 116 * @version 4.0 117 * @author Kazuhiko Hasegawa 118 * @since JDK5.0, 119 */ 120 public class ReadTableTag extends CommonTagSupport { 121 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */ 122 private static final String VERSION = "5.7.7.2 (2014/06/20)" ; 123 124 private static final long serialVersionUID = 577220140620L ; 125 126 private static final int ERROR_ROW_COUNT = 200 ; // 4.0.0 (2007/05/25) 127 128 /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? æ–°è¦ä½œæ? {@value} */ 129 public static final String CMD_NEW = "NEW" ; 130 /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? 冿¤œç´¢ {@value} */ 131 public static final String CMD_RENEW = "RENEW" ; 132 133 private static final String[] COMMAND_LIST = new String[] { CMD_NEW , CMD_RENEW }; 134 135 private String separator = TableReader.TAB_SEPARATOR; // é ?›®åŒºåˆ?‚Šæ–?? 136 private String fileURL = HybsSystem.sys( "FILE_URL" ); 137 private String filename = HybsSystem.sys( "FILE_FILENAME" ); // ファイルå? 138 private String encode = HybsSystem.sys( "FILE_ENCODE" ); // ファイルエンコーãƒ?‚£ãƒ³ã‚° "JISAutoDetect" ,"JIS", "EUC_JP", "MS932", "SJIS" , "Windows-31J" , "Shift_JIS" 139 private String readerClass = HybsSystem.sys( "TABLE_READER_DEFAULT_CLASS" ); // 3.8.5.3 (2006/08/07) 140 private int maxRowCount = -1; 141 private String displayMsg = HybsSystem.sys( "VIEW_DISPLAY_MSG" ); 142 private String notfoundMsg = "MSG0077"; // 対象ãƒ??ã‚¿ã¯ã‚りã¾ã›ã‚“ã§ã—ãŸã€? 143 private int executeCount = -1; // 検索/実行件数 144 private String modifyType = null; 145 private String adjustColumns = null; // 3.6.0.2 (2004/10/04) å–ã‚Šè¾¼ã¿æ™‚ãƒã‚§ãƒ?‚¯ 146 private String checkColumns = null; // 3.6.0.2 (2004/10/04) å–ã‚Šè¾¼ã¿æ™‚ãƒã‚§ãƒ?‚¯ 147 private String nullCheck = null; // 3.8.0.2 (2005/06/30) nullãƒã‚§ãƒ?‚¯ç¢ºèª? 148 149 private transient DBTableModel table = null; 150 private String command = CMD_NEW; 151 private String tableId = HybsSystem.TBL_MDL_KEY ; 152 private String sheetName = null ; // 3.5.4.2 (2003/12/15) 153 private String sheetNos = null ; // 5.5.7.2 (2012/10/09) è¤?•°ã‚·ãƒ¼ãƒˆã‚’æŒ?®šã§ãるよã†ã«ã‚·ãƒ¼ãƒˆç•ªå·ã‚’指定ã§ãるよã†ã«ã™ã‚‹ã€? 154 private String sheetConstKeys = null ; // 5.5.8.2 (2012/11/09) 固定å?ã¨ãªã‚‹ã‚«ãƒ©ãƒ?(CSVå½¢å¼? 155 private String sheetConstAdrs = null ; // 5.5.8.2 (2012/11/09) 固定å?ã¨ãªã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹(è¡?åˆ?è¡?åˆ?・・・) 156 private String nullBreakClm = null; // 5.5.8.2 (2012/11/09) å–è¾¼ã¿æ¡ä»¶/Sheet BREAKæ¡ä»¶ 157 158 // 3.5.4.5 (2004/01/23) 外部よりカラãƒ??(カンマ区åˆ?‚Š)を指定ã§ãるよã†ã«ã™ã‚‹ã€? 159 private String columns = null; 160 private boolean useNumber = true; // 3.7.0.5 (2005/04/11) 161 162 private boolean stopZero = false; // 4.3.7.0 (2009/06/01) stopZero属æ?追åŠ? 163 164 // 5.1.8.0 (2010/07/01) AutoReaderã®Calc対å¿? 165 private static final String[] AUTO_READER_CLASS = new String[] { "Excel","Calc","Default" ,"Default" }; 166 private static final String[] AUTO_READER_ENCODE = new String[] { null ,null ,"UnicodeLittle","Windows-31J" }; 167 168 private boolean isMainTrans = true; // 5.1.6.0 (2010/05/01) DBLastSqlã®å‡¦ç??見直ã? 169 private int skipRowCount = 0; // 5.1.6.0 (2010/05/01) ãƒ??ã‚¿ã®èªã¿é£›ã?ã—è¨å®? 170 171 // 5.2.1.0 (2010/10/01) èªå–å?ç?§ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ©ãƒ™ãƒ«å¤‰æ›ã‚’行ã†ã‹ã©ã?‹ 172 private boolean useRenderer = HybsSystem.sysBool( "USE_TABLE_READER_RENDERER" ); // 5.2.1.0 (2010/10/01) 173 174 /** 175 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 176 * 177 * @og.rev 3.0.1.4 (2003/03/17) displayMsg ã??Byteã®å ´åˆã?ã€ä»¶æ•°ã‚‚表示ã—ãªã?‚ˆã?«å¤‰æ›´ã€? 178 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()ã§å‘¼ã¶ã€? 179 * @og.rev 3.5.4.1 (2003/12/01) 引数㮠BufferedReader ã‚’ã?InputStream ã«å¤‰æ›´ã€? 180 * @og.rev 3.5.4.3 (2004/01/05) 引数㮠InputStream ã‚’ã? BufferedReader ã«æˆ»ã™ã? 181 * @og.rev 3.5.6.5 (2004/08/09) 暫定的ã«ã€DBTableModelã‚’å?行削除ã—ã¾ã™ã? 182 * @og.rev 3.6.0.0 (2004/09/24) DBTableModel ã®å…ˆè¡Œå‰Šé™¤ã¯ã€scope="session" ã®å ´åˆã?ã¿ã€? 183 * @og.rev 3.6.0.2 (2004/10/04) å–ã‚Šè¾¼ã¿æ™‚ãƒã‚§ãƒ?‚¯ç”¨ã«ã€checkColumns,adjustColumns 属æ?追åŠ? 184 * @og.rev 3.6.0.8 (2004/11/19) DBTableModel をセーブã™ã‚‹æ™‚ã«ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã™ã? 185 * @og.rev 3.8.5.3 (2006/08/07) readerClassã?"Excel"ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸã¨ãã?ã‚‚ã†ä¸?º¦Defaultã§å†èªå–を行ã„ã¾ã™ã? 186 * @og.rev 4.0.0.0 (2007/10/12) checkTableColumn å‰ã«ã€modifyType è¨å®šã‚’行ã„ã¾ã™ã? 187 * @og.rev 4.0.0.0 (2007/10/18) メãƒ?‚»ãƒ¼ã‚¸ãƒªã‚½ãƒ¼ã‚¹çµ±å? getResource().getMessage â‡?getResource().getLabel ) 188 * @og.rev 4.3.1.1 (2008/10/08) columnsãŒæŒ‡å®šã•れã¦ã?‚‹å ´åˆã?ã€AutoReaderç¦æ¢ 189 * @og.rev 4.3.7.0 (2009/06/01) stopZero機è?,DB.COUNTリクエストã‚ーã¸èªè¾¼ä»¶æ•°ã‚»ãƒ?ƒˆã‚’追åŠ? 190 * @og.rev 5.1.6.0 (2010/05/01) DBLastSqlã®å‡¦ç??ã€DBTableModelãŒæ–°è¦ä½œæ?ã•れãŸå?ç?§ã®ã¿è¡Œã†ã€? 191 * @og.rev 5.1.8.0 (2010/07/01) AutoReaderã®Calc対å¿? 192 * @og.rev 5.1.9.0 (2010/08/01) AutoReaderã§ã®Exceptionã®åˆ¤å®šã‚’Throwableã«å¤‰æ›´ 193 * @og.rev 5.7.1.2 (2013/12/20) tempMsg.toString() â‡?errMsg 変更 194 * @og.rev 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属æ?を追åŠ? 195 * 196 * @return 後続å?ç??æŒ?¤º 197 */ 198 @Override 199 public int doEndTag() { 200 debugPrint(); // 4.0.0 (2005/02/28) 201 // 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属æ?を追åŠ? 202 if( !useTag() ) { return EVAL_PAGE ; } 203 204 if( check( command, COMMAND_LIST ) ) { 205 useMainTrans( isMainTrans ); // 5.1.6.0 (2010/05/01) DBLastSqlã®å‡¦ç??見直ã? 206 startQueryTransaction( tableId ); // 3.6.0.8 (2004/11/19) 207 208 // 3.5.6.5 (2004/08/09) 削除ã™ã‚‹ã®ã¯ã€ã‚»ãƒ?‚·ãƒ§ãƒ³ã®ã‚ªãƒ–ジェクトã§ã‚ˆã„ã€? 209 // 3.6.0.0 (2004/09/24) 削除ã™ã‚‹ã®ã¯ã€scope="session" ã®å ´åˆã?ã¿ã€? 210 if( "session".equals( getScope() ) ) { 211 removeSessionAttribute( tableId ); 212 removeSessionAttribute( HybsSystem.VIEWFORM_KEY ); 213 } 214 215 if( maxRowCount < 0 ) { 216 maxRowCount = sysInt( "DB_MAX_ROW_COUNT" ); 217 } 218 219 // ファイル ã®èªã¿è¾¼ã¿?šAutoReader 処ç? 220 BufferedReader pw = null; 221 final String[] READER_CLASS ; 222 final String[] READER_ENCODE ; 223 if( "AutoReader".equalsIgnoreCase( readerClass ) ) { 224 // 4.3.1.1 (2008/10/08) 225 if( columns != null && columns.length() > 0 ) { 226 String errMsg = "columnsãŒæŒ‡å®šã•れã¦ã?‚‹å ´åˆã?ã€readerClass=\"AutoReader\"ã¯ä½¿ãˆã¾ã›ã‚“"; 227 throw new HybsSystemException( errMsg ); // 4.3.4.4 (2009/01/01) 228 } 229 READER_CLASS = AUTO_READER_CLASS ; 230 READER_ENCODE = AUTO_READER_ENCODE; 231 } 232 else { 233 READER_CLASS = new String[] { readerClass }; 234 READER_ENCODE = new String[] { encode }; 235 } 236 237 StringBuilder tempMsg = new StringBuilder(); 238 for( int i=0; i<READER_CLASS.length; i++ ) { 239 readerClass = READER_CLASS[i]; 240 encode = READER_ENCODE[i]; 241 242 try { 243 // 5.1.8.0 (2010/07/01) AutoReaderã®Calc対å¿? 244 if( "Excel".equalsIgnoreCase( readerClass ) || "Calc".equalsIgnoreCase( readerClass ) ) { 245 create( null ); 246 } 247 else { 248 pw = getBufferedReader(); 249 create( pw ); 250 } 251 // æˆåŠŸã™ã‚Œã°ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ã‚’クリアã—ã¦ã€ãã®å ´ã§æŠœã‘ã‚‹ã? 252 tempMsg = null; 253 break; 254 } 255 // 3.8.5.3 (2006/08/07) readerClassã?"Excel"ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸã¨ãã?ã‚‚ã†ä¸?º¦Defaultã§å†èªå–を行ã„ã¾ã™ã? 256 // 5.1.9.0 (2010/08/01) RuntimeExceptionç³»ã®ExceptionãŒã‚ャãƒ?ƒã§ããªã?Ÿã‚ã?Throwableã§å—ã‘ã‚? 257 catch( Throwable th ) { 258 tempMsg.append( "readerClass=[" ).append( readerClass ) 259 .append( "],encode=[" ).append( encode ) 260 .append( "] Error!" ).append( HybsSystem.CR ) 261 .append( th.getMessage() ).append( HybsSystem.CR ) ; 262 } 263 finally { 264 Closer.ioClose( pw ); // 4.0.0 (2006/01/31) close 処ç?™‚ã® IOException ã‚’ç„¡è¦? 265 } 266 } 267 268 if( tempMsg != null ) { // æœ?¾Œã¾ã§ã‚¨ãƒ©ãƒ¼ãŒã‚れã?ã€ä¾‹å¤–å?ç?‚’発行ã—ã¾ã™ã? 269 String errMsg = tempMsg.toString(); 270 System.err.print( errMsg ); 271 throw new HybsSystemException( errMsg ); // 5.7.1.2 (2013/12/20) msg â‡?errMsg 変更 272 } 273 274 if( table != null ) { 275 // 3.6.0.2 (2004/10/04) 276 // 4.0.0.0 (2007/10/12) checkTableColumn å‰ã«ã€modifyType è¨å®šã‚’行ã„ã¾ã™ã? 277 executeCount = table.getRowCount(); 278 if( modifyType != null ) { 279 for( int row=0; row<executeCount; row++ ) { 280 table.setModifyType( row,modifyType ); 281 } 282 } 283 284 ErrorMessage errMsg = checkTableColumn( table ); 285 if( errMsg != null && ! errMsg.isOK()) { 286 jspPrint( TaglibUtil.makeHTMLErrorTable( errMsg,getResource() ) ); 287 return SKIP_PAGE ; 288 } 289 290 } 291 // 3.6.0.8 (2004/11/19) トランザクションãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã™ã? 292 if( ! commitTableObject( tableId, table ) ) { 293 jspPrint( "ReadTableTag Query処ç?Œå‰²ã‚Šè¾¼ã¾ã‚Œã¾ã—ãŸã€?BTableModel ã¯ç™»éŒ²ã—ã¾ã›ã‚“ã€? ); 294 return SKIP_PAGE ; 295 } 296 297 StringBuilder buf = new StringBuilder( HybsSystem.BUFFER_SMALL ); 298 299 // 実行件数ã®è¡¨ç¤º command="NEW" ã®ã¨ãã?ã¿ã€displayMsg を表示ã•ã›ã¾ã™ã? 300 // 4.0.0 (2005/11/30) 出力é?ã®å¤‰æ›´ã€‚ä¸?•ªæœ??ã«å‡ºåŠ›ã—ã¾ã™ã? 301 if( CMD_NEW.equals( command ) ) { 302 if( executeCount > 0 && displayMsg != null && displayMsg.length() > 0 ) { 303 buf.append( executeCount ); 304 buf.append( getResource().getLabel( displayMsg ) ); 305 buf.append( HybsSystem.BR ); 306 } 307 else if( executeCount == 0 && notfoundMsg != null && notfoundMsg.length() > 0 ) { 308 buf.append( getResource().getLabel( notfoundMsg ) ); 309 buf.append( HybsSystem.BR ); 310 } 311 } 312 313 // 4.3.7.0 (2009/06/01) èªè¾¼ä»¶æ•°ã‚’ã?"DB.COUNT" ã‚ーã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ã‚»ãƒ?ƒˆã™ã‚‹ã€? 314 setRequestAttribute( "DB.COUNT" , String.valueOf( executeCount ) ); 315 316 jspPrint( buf.toString() ); 317 } 318 319 // 4.3.7.0 (2009/06/01) stopZero機è?を追åŠ? 320 final int rtnCode ; 321 if( executeCount == 0 && stopZero ) { 322 rtnCode = SKIP_PAGE; 323 } 324 else { 325 rtnCode = EVAL_PAGE; 326 } 327 328 return rtnCode ; 329 } 330 331 /** 332 * タグリブオブジェクトをリリースã—ã¾ã™ã? 333 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã? 334 * 335 * @og.rev 2.0.0.4 (2002/09/27) カスタãƒ?‚¿ã‚°ã® release() メソãƒ?ƒ‰ã‚’ã?追åŠ? 336 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()ã§å‘¼ã¶ã€? 337 * @og.rev 3.1.3.0 (2003/04/10) FILE_ENCODE ã‹ã‚‰ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰æƒ…å ±ã‚’å–å¾—ã™ã‚‹ã? 338 * @og.rev 3.1.4.0 (2003/04/18) command 属æ?ã«ã€å?期å?(NEW)ã‚’è¨å®šã™ã‚‹ã? 339 * @og.rev 3.5.4.2 (2003/12/15) EXCELã®ã‚·ãƒ¼ãƒˆåを指定ã§ãるよã†ã«å¤‰æ›´ã€? 340 * @og.rev 3.5.4.5 (2004/01/23) 外部よりカラãƒ??(カンマ区åˆ?‚Š)を指定ã§ãるよã†ã«ã™ã‚‹ã€? 341 * @og.rev 3.6.0.2 (2004/10/04) checkColumns,adjustColumns,allColumnCheck 属æ?追åŠ? 342 * @og.rev 3.7.0.5 (2005/04/11) useNumber 属æ?を追åŠ?—ã¾ã™ã? 343 * @og.rev 3.8.0.2 (2005/06/30) nullCheck 属æ?追åŠ? 344 * @og.rev 3.8.5.3 (2006/08/07) readerClass 属æ?ã®åˆæœŸå€¤ã‚’シスãƒ?ƒ リソースよりå–å¾—ã—ã¾ã™ã? 345 * @og.rev 4.3.7.0 (2009/06/01) stopZero属æ?追åŠ? 346 * @og.rev 5.1.6.0 (2010/05/01) DBLastSqlã®å‡¦ç??ã€DBTableModelãŒæ–°è¦ä½œæ?ã•れãŸå?ç?§ã®ã¿è¡Œã†ã€? 347 * @og.rev 5.1.6.0 (2010/05/01) ãƒ??ã‚¿ã®èªã¿é£›ã?ã—è¨å®?skipRowCount 属æ?追åŠ? 348 * @og.rev 5.2.1.0 (2010/10/01) èªå–å?ç?§ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ©ãƒ™ãƒ«å¤‰æ›ã‚’行ã†ã‹ã©ã?‹ useRenderer 属æ?追åŠ? 349 * @og.rev 5.5.7.2 (2012/10/09) è¤?•°ã‚·ãƒ¼ãƒˆã‚’æŒ?®šã§ãるよã†ã«ã‚·ãƒ¼ãƒˆç•ªå·ã‚’指定ã§ãるよã†ã«ã€sheetNos属æ?追åŠ? 350 * @og.rev 5.5.8.2 (2012/11/09) 固定å?ã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ?®šã?ãŸã‚ã®ã€sheetConstKeysã€sheetConstAdrs属æ?追åŠ? 351 * @og.rev 5.5.8.2 (2012/11/09) カラãƒ??ã« NULL ãŒç¾ã‚ŒãŸæ™‚点ã§èªã¿å–ã‚Šã‚’ä¸æ¢ã™ã‚‹ã€nullBreakClm属æ?追åŠ? 352 */ 353 @Override 354 protected void release2() { 355 super.release2(); 356 separator = TableReader.TAB_SEPARATOR; // é ?›®åŒºåˆ?‚Šæ–?? 357 fileURL = HybsSystem.sys( "FILE_URL" ); 358 filename = HybsSystem.sys( "FILE_FILENAME" ); // ファイルå? 359 encode = HybsSystem.sys( "FILE_ENCODE" ); // ファイルエンコーãƒ?‚£ãƒ³ã‚° "JISAutoDetect" ,"JIS", "EUC_JP", "MS932", "SJIS" , "Windows-31J" , "Shift_JIS" 360 readerClass = HybsSystem.sys( "TABLE_READER_DEFAULT_CLASS" ); // 3.8.5.3 (2006/08/07) 361 maxRowCount = -1; 362 displayMsg = HybsSystem.sys( "VIEW_DISPLAY_MSG" ); 363 notfoundMsg = "MSG0077"; // 対象ãƒ??ã‚¿ã¯ã‚りã¾ã›ã‚“ã§ã—ãŸã€? 364 executeCount = -1; // 検索/実行件数 365 modifyType = null; 366 command = CMD_NEW; 367 table = null; 368 tableId = HybsSystem.TBL_MDL_KEY ; 369 sheetName = null; // 3.5.4.2 (2003/12/15) 370 sheetNos = null ; // 5.5.7.2 (2012/10/09) è¤?•°ã‚·ãƒ¼ãƒˆã‚’æŒ?®šã§ãるよã†ã«ã‚·ãƒ¼ãƒˆç•ªå·ã‚’指定ã§ãるよã†ã«ã™ã‚‹ã€? 371 sheetConstKeys = null ; // 5.5.8.2 (2012/11/09) 固定å?ã¨ãªã‚‹ã‚«ãƒ©ãƒ?(CSVå½¢å¼? 372 sheetConstAdrs = null ; // 5.5.8.2 (2012/11/09) 固定å?ã¨ãªã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹(è¡?åˆ?è¡?åˆ?・・・) 373 nullBreakClm = null; // 5.5.8.2 (2012/11/09) å–è¾¼ã¿æ¡ä»¶/Sheet BREAKæ¡ä»¶ 374 columns = null; // 3.5.4.5 (2004/01/23) 375 useNumber = true; // 3.7.0.5 (2005/04/11) 376 adjustColumns = null; // 3.6.0.2 (2004/10/04) å–ã‚Šè¾¼ã¿æ™‚ãƒã‚§ãƒ?‚¯ 377 checkColumns = null; // 3.6.0.2 (2004/10/04) å–ã‚Šè¾¼ã¿æ™‚ãƒã‚§ãƒ?‚¯ 378 nullCheck = null; // 3.8.0.2 (2005/06/30) 379 stopZero = false; // 4.3.7.0 (2009/06/01) soptZero追åŠ? 380 isMainTrans = true; // 5.1.6.0 (2010/05/01) DBLastSqlã®å‡¦ç??見直ã? 381 skipRowCount = 0; // 5.1.6.0 (2010/05/01) ãƒ??ã‚¿ã®èªã¿é£›ã?ã—è¨å®? 382 useRenderer = HybsSystem.sysBool( "USE_TABLE_READER_RENDERER" ); // 5.2.1.0 (2010/10/01) 383 } 384 385 /** 386 * TableReader ã®å®Ÿã‚ªãƒ–ジェクトを生æ?ã—ã¦?ŒBufferedReader ã«æ›¸ãè¾¼ã¿ã¾ã™ã? 387 * 388 * @og.rev 3.5.4.1 (2003/12/01) 引数㮠BufferedReader ã‚’ã?InputStream ã«å¤‰æ›´ã€? 389 * @og.rev 3.5.4.2 (2003/12/15) TableReader ã®ã‚µãƒ–クラスå変更ã€? 390 * @og.rev 3.5.4.2 (2003/12/15) EXCELã®ã‚·ãƒ¼ãƒˆåを指定ã§ãるよã†ã«å¤‰æ›´ã€? 391 * @og.rev 3.5.4.3 (2004/01/05) 引数㮠InputStream ã‚’ã? BufferedReader ã«æˆ»ã™ã? 392 * @og.rev 3.5.4.5 (2004/01/23) TableReader ã«ã€encode を渡ã™ã‚ˆã?«å¤‰æ›´ã€? 393 * @og.rev 3.5.6.0 (2004/06/18) å?¨®ãƒ—ラグイン関連付ã‘è¨å®šã‚’ã€ã‚·ã‚¹ãƒ?ƒ パラメータ ã«è¨˜è¿°ã—ã¾ã™ã? 394 * @og.rev 3.7.0.5 (2005/04/11) useNumber 属æ?を追åŠ?—ã¾ã™ã? 395 * @og.rev 4.0.0.0 (2005/01/31) ã‚ãƒ¼ã®æŒ?®šã‚’ã€TableReader. ã‹ã‚‰ã€TableReader_ ã«å¤‰æ›´ã—ã¾ã™ã? 396 * @og.rev 4.0.0.0 (2005/01/31) lang â‡?ResourceManager ã¸å¤‰æ›´ 397 * @og.rev 5.1.6.0 (2010/05/01) ãƒ??ã‚¿ã®èªã¿é£›ã?ã—è¨å®?skipRowCount 属æ?追åŠ? 398 * @og.rev 5.2.1.0 (2010/10/01) èªå–å?ç?§ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ©ãƒ™ãƒ«å¤‰æ›ã‚’行ã†ã‹ã©ã?‹è¨å®?useRenderer 属æ?追åŠ? 399 * @og.rev 5.5.7.2 (2012/10/09) è¤?•°ã‚·ãƒ¼ãƒˆã‚’æŒ?®šã§ãるよã†ã«ã‚·ãƒ¼ãƒˆç•ªå·ã‚’指定ã§ãるよã†ã«ã€sheetNos属æ?追åŠ? 400 * @og.rev 5.5.8.2 (2012/11/09) 固定å?ã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ?®šã?ãŸã‚ã®ã€sheetConstKeysã€sheetConstAdrs属æ?追åŠ? 401 * @og.rev 5.5.8.2 (2012/11/09) カラãƒ??ã« NULL ãŒç¾ã‚ŒãŸæ™‚点ã§èªã¿å–ã‚Šã‚’ä¸æ¢ã™ã‚‹ã€nullBreakClm属æ?追åŠ? 402 * 403 * @param out 出力ã™ã‚‹BufferedReaderオブジェクãƒ? 404 */ 405 protected void create( final BufferedReader out ) { 406 407 String className = HybsSystem.sys( "TableReader_" + readerClass ) ; // 4.0.0 (2005/01/31) 408 TableReader reader = (TableReader)HybsSystem.newInstance( className ); // 3.5.5.3 (2004/04/09) 409 410 reader.setResourceManager( getResource() ); // 4.0.0 (2005/01/31) 411 reader.setSeparator( separator ); 412 reader.setEncode( encode ); // 3.5.4.5 (2004/01/23) 413 reader.setColumns( columns ); // 3.5.4.5 (2004/01/23) 414 reader.setUseNumber( useNumber ); // 3.7.0.5 (2005/04/11) 415 reader.setMaxRowCount( maxRowCount ); 416 reader.setSkipRowCount( skipRowCount ); // 5.1.6.0 (2010/05/01) 417 reader.setUseRenderer( useRenderer ); // 5.2.1.0 (2010/10/01) 418 reader.setDebug( isDebug() ); // 5.5.7.2 (2012/10/09) ãƒ?ƒãƒ?‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹ã‚’指å®? 419 if( reader.isExcel() ) { // 3.5.4.3 (2004/01/05) 420 reader.setFilename( HybsSystem.url2dir( StringUtil.urlAppend( fileURL,filename ))); 421 reader.setSheetName( sheetName ); // 3.5.4.2 (2003/12/15) 422 reader.setSheetNos( sheetNos ); // 5.5.7.2 (2012/10/09) è¤?•°ã‚·ãƒ¼ãƒˆã‚’æŒ?®šã§ãるよã†ã«ã‚·ãƒ¼ãƒˆç•ªå·ã‚’指定ã§ãるよã†ã«ã™ã‚‹ã€? 423 reader.setSheetConstData( sheetConstKeys,sheetConstAdrs ) ; // 5.5.8.2 (2012/11/09) 固定å?ã¨ãªã‚‹ã‚«ãƒ©ãƒ?ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æŒ?®? 424 reader.setNullBreakClm( nullBreakClm ) ; // 5.5.8.2 (2012/11/09) å–è¾¼ã¿æ¡ä»¶/Sheet BREAKæ¡ä»¶ 425 reader.readDBTable(); 426 } 427 else { 428 reader.readDBTable( out ); 429 } 430 table = reader.getDBTableModel(); 431 } 432 433 /** 434 * BufferedReader ã‚’å–å¾—ã—ã¾ã™ã? 435 * 436 * ã“ã“ã§ã¯ã€ä¸?ˆ¬çš?ªãƒ•ァイル出力をè€??ã—㟠BufferedReader を作æ?ã—ã¾ã™ã? 437 * 438 * @og.rev 2.2.0.0 (2002/12/17) ä¸å›½èª?国際化)対å¿?エンコードã?å–得方法変更 439 * @og.rev 3.1.3.0 (2003/04/10) FILE_ENCODE ã‹ã‚‰ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰æƒ…å ±ã‚’å–å¾—ã™ã‚‹ã? 440 * @og.rev 3.5.4.1 (2003/12/01) 引数㮠BufferedReader ã‚’ã?InputStream ã«å¤‰æ›´ã€? 441 * @og.rev 3.5.4.3 (2004/01/05) 引数㮠InputStream ã‚’ã? BufferedReader ã«æˆ»ã™ã? 442 * @og.rev 3.5.5.9 (2004/06/07) FileUtil.getBufferedReader を使用 443 * 444 * @return ファイルèªå–BufferedReaderオブジェクãƒ? 445 */ 446 private BufferedReader getBufferedReader() { 447 if( filename == null ) { 448 String errMsg = "ファイルåãŒã‚»ãƒ?ƒˆã•れã¦ã?¾ã›ã‚“ã€?; 449 throw new HybsSystemException( errMsg ); 450 } 451 String directory = HybsSystem.url2dir( fileURL ); 452 File file = new File( StringUtil.urlAppend( directory,filename ) ); 453 454 BufferedReader out = FileUtil.getBufferedReader( file,encode ); 455 456 return out ; 457 } 458 459 /** 460 * カラãƒ?–‡å—å?(CSVå½¢å¼?ã‹ã‚‰ã€ã‚«ãƒ©ãƒ?•ªå·é…å?を作æ?ã—ã¾ã™ã? 461 * 簡易メソãƒ?ƒ‰ã§ã™ã? 462 * 引数ãŒã?"*" ã®å ´åˆã?ã€å?カラãƒ?‚’æŒ?®šã—ãŸã“ã¨ã«ãªã‚Šã¾ã™ã? 463 * null ã®å ´åˆã?ã€ã‚µã‚¤ã‚ºã???ã®é…å?ã‚’è¿”ã—ã¾ã™ã? 464 * 465 * @og.rev 4.0.0.0 (2007/05/25) æ–°è¦ä½œæ? 466 * 467 * @param clms カラãƒ?–‡å—å?(CSVå½¢å¼? 468 * @param table DBTableModelオブジェクãƒ? 469 * 470 * @return カラãƒ?•ªå·é…å?(ç„¡ã??åˆã?ã€?•·ã•ï¼ã?é…å?) 471 */ 472 private int[] makeClmNos( final String clms,final DBTableModel table ) { 473 final int[] clmNo; 474 475 if( clms == null ) { 476 clmNo = new int[0]; 477 } 478 else if( "*".equals( clms ) ) { 479 int size = table.getColumnCount(); 480 clmNo = new int[size]; 481 for( int i=0; i<size; i++ ) { 482 clmNo[i] = i; 483 } 484 } 485 else { 486 String[] clmStr = StringUtil.csv2Array( clms ); 487 int size = clmStr.length; 488 clmNo = new int[size]; 489 for( int i=0; i<size; i++ ) { 490 clmNo[i] = table.getColumnNo( clmStr[i] ); 491 } 492 } 493 494 return clmNo; 495 } 496 497 /** 498 * checkColumns ã«æŒ?®šã•れãŸã‚«ãƒ©ãƒ?‚’ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã? 499 * カラãƒ?‚ªãƒ–ジェクトã?DBType属æ?ã«å¯¾å¿œã—ãŸãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã™ã? 500 * ãƒã‚§ãƒ?‚¯çµæžœã§ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?åˆã?ã€ErrorMessage オブジェクトを 501 * è¿”ã—ã¾ã™ã? 502 * DBColumn#valueCheck( String ) ã®çµæžœã®ErrorMessageã‚’ã™ã¹ã¦ append 503 * ã—ã¦ã?ã¾ã™ã? 504 * useAdjust==true ã§ã€ã‹ã¤ã€ã‚¨ãƒ©ãƒ¼ãŒãªã??åˆã?ã€adjustColumns 処ç?µæžœã‚? 505 * DBTableModel ã«åæ˜ ã•ã›ã¾ã™ã? 506 * debug=true ã§ã€ã‚¨ãƒ©ãƒ¼æ™‚ã?詳細ãªãƒ??ã‚¿ã‚’å?力ã—ã¾ã™ã? 507 * 508 * @og.rev 3.6.0.2 (2004/10/04) æ–°è¦ä½œæ? 509 * @og.rev 3.8.0.2 (2005/06/30) nullãƒã‚§ãƒ?‚¯ç¢ºèª? 510 * @og.rev 4.0.0.0 (2007/05/25) 処ç??åºæ›¸ãæ›ã? 511 * 512 * @param table DBTableModelオブジェクãƒ? 513 * 514 * @return カラãƒ?‚ー ??値 ã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ã‚ªãƒ–ジェクãƒ? 515 */ 516 private ErrorMessage checkTableColumn( final DBTableModel table ) { 517 ErrorMessage errMsg = new ErrorMessage( "Check Columns Error!" ); 518 519 int rowCnt = table.getRowCount(); 520 int[] adjClmNo = makeClmNos( adjustColumns,table ); 521 int[] chkClmNo = makeClmNos( checkColumns,table ); 522 int[] nllclmNo = makeClmNos( nullCheck,table ); 523 524 boolean useAdjust = adjClmNo.length > 0 ; 525 526 for( int row=0; row<rowCnt; row++ ) { 527 String[] vals = table.getValues( row ); 528 DBColumn[] dbClms = table.getDBColumns(); 529 boolean isError = false; // 5.5.7.2 (2012/10/09) エラー時ã?フラグ。ループã§ã‚¯ãƒªã‚¢ã™ã‚‹ã€? 530 531 // adjustColumns 処ç? 532 for( int i=0; i<adjClmNo.length; i++ ) { 533 int no = adjClmNo[i]; 534 vals[no] = dbClms[no].valueSet( vals[no] ); 535 } 536 537 // checkColumns 処ç? 538 for( int i=0; i<chkClmNo.length; i++ ) { 539 int no = chkClmNo[i]; 540 ErrorMessage msg = dbClms[no].valueCheck( vals[no] ); 541 if( msg.getKekka() > ErrorMessage.OK ) { 542 isError = true; 543 errMsg.append( row+1,dbClms[no].valueCheck( vals[no] ) ); 544 } 545 } 546 547 // nullCheck 処ç? 548 for( int i=0; i<nllclmNo.length; i++ ) { 549 int no = nllclmNo[i]; 550 if( vals[no] == null || vals[no].length() == 0 ) { 551 isError = true; 552 String label = dbClms[no].getLabel(); 553 // ERR0012 : æŒ?®šã?ãƒ??ã‚¿ãŒã‚»ãƒ?ƒˆã•れã¦ã?¾ã›ã‚“ã€?NULLエラー)。key={0} 554 errMsg.addMessage( row+1,ErrorMessage.NG,"ERR0012",label ); 555 } 556 } 557 558 // 5.5.7.2 (2012/10/09) エラー時ã?ãƒ?ƒãƒ?‚°å‡ºåŠ? 559 if( isDebug() && isError ) { 560 errMsg.addMessage( row+1,ErrorMessage.OK,"Debug Info",java.util.Arrays.toString(table.getValues(row) ) ); 561 } 562 563 // adjustColumns 処ç?µæžœã‚’åæ˜?•ã›ã¾ã™ã? 564 if( useAdjust && !isError ) { table.setValues( vals,row ); } 565 if( errMsg.size() > ERROR_ROW_COUNT ) { break; } 566 } 567 568 return errMsg; 569 } 570 571 /** 572 * ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)çµæžœã®DBTableModelã‚’ã?sessionã«ç™»éŒ²ã™ã‚‹ã¨ãã?ã‚ーを指定ã—ã¾ã? 573 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€? 574 * 575 * @og.tag 576 * æ¤œç´¢çµæžœã‚ˆã‚Šã€DBTableModelオブジェクトを作æ?ã—ã¾ã™ã?ã“れをã?下æµã?viewã‚¿ã‚°ç‰ã« 577 * 渡ã™å?åˆã«ã€??常ã¯ã€session を利用ã—ã¾ã™ã?ãã?å ´åˆã?登録ã‚ーã§ã™ã? 578 * query ã‚¿ã‚°ã‚’åŒæ™‚ã«å®Ÿè¡Œã—ã¦ã€çµæžœã‚’求ã‚ã‚‹å?åˆã?åŒä¸?ƒ¡ãƒ¢ãƒªã«é…ç½®ã•れる為ã€? 579 * ã“ã? tableId 属æ?を利用ã—ã¦ã€ãƒ¡ãƒ¢ãƒªç©ºé–“ã‚’åˆ?‘ã¾ã™ã? 580 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€? 581 * 582 * @param id sessionã«ç™»éŒ²ã™ã‚‹æ™‚ã? ID 583 */ 584 public void setTableId( final String id ) { 585 tableId = nval( getRequestParameter( id ), tableId ); 586 } 587 588 /** 589 * ã€TAG】å¯å¤‰é•·ãƒ•ァイルを作æ?ã™ã‚‹ã¨ãã?é ?›®åŒºåˆ?‚Šæ–?—ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã? 590 * 591 * @og.tag å¯å¤‰é•·ãƒ•ァイルを作æ?ã™ã‚‹ã¨ãã?é ?›®åŒºåˆ?‚Šæ–?—ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã? 592 * 593 * @param separator é ?›®åŒºåˆ?‚Šæ–?? 594 */ 595 public void setSeparator( final String separator ) { 596 this.separator = nval( getRequestParameter( separator ),this.separator ); 597 } 598 599 /** 600 * ã€TAG】èªã¿å–りå…?ƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã‚’æŒ?®šã—ã¾ã? 601 * (åˆæœŸå€¤:FILE_URL[={@og.value org.opengion.hayabusa.common.SystemData#FILE_URL}])ã€? 602 * 603 * @og.tag 604 * ã“ã?属æ?ã§æŒ?®šã•れるãƒ?‚£ãƒ¬ã‚¯ãƒˆãƒªã‚ˆã‚Šã€ãƒ•ァイルをèªã¿å–りã¾ã™ã? 605 * æŒ?®šæ–¹æ³•ã?ã€??常㮠fileURL 属æ?ã¨åŒæ§˜ã«ã€å?é ãŒã?'/' (UNIX) ã¾ãŸã?ã€?¼’æ–‡å—ç›®ãŒã? 606 * ":" (Windows)ã®å ´åˆã?ã€æŒ‡å®šã?URLãã?ã¾ã¾ã®ãƒ?‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã€ãã?§ãªã??åˆã?ã€? 607 * fileURL = "{@USER.ID}" ã¨æŒ?®šã™ã‚‹ã¨ã€FILE_URL 属æ?ã§æŒ?®šã?フォルãƒ??下ã«ã€? 608 * ã•らã«ã€å„個人ID別ã®ãƒ•ォルãƒ?‚’作æ?ã—ã¦ã€ãã“ã‚’æ“作ã—ã¾ã™ã? 609 * (åˆæœŸå€¤:シスãƒ?ƒ 定数ã®FILE_URL[={@og.value org.opengion.hayabusa.common.SystemData#FILE_URL}])ã€? 610 * 611 * @og.rev 4.0.0.0 (2005/01/31) StringUtil.urlAppend メソãƒ?ƒ‰ã®åˆ©ç”¨ 612 * @og.rev 4.0.0.0 (2007/11/20) æŒ?®šã•れãŸãƒ?‚£ãƒ¬ã‚¯ãƒˆãƒªåã?æœ?¾ŒãŒ"\"or"/"ã§çµ‚ã‚ã£ã¦ã?ªã??åˆã«ã€?/"ã‚’ä»˜åŠ ã™ã‚‹ã€? 613 * 614 * @param url èªã¿å–りå…?ƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå? 615 * @see org.opengion.hayabusa.common.SystemData#FILE_URL 616 */ 617 public void setFileURL( final String url ) { 618 String furl = nval( getRequestParameter( url ),null ); 619 if( furl != null ) { 620 char ch = furl.charAt( furl.length()-1 ); 621 if( ch != '/' && ch != '\\' ) { furl = furl + "/"; } 622 fileURL = StringUtil.urlAppend( fileURL,furl ); 623 } 624 } 625 626 /** 627 * ã€TAG】ファイルを作æ?ã™ã‚‹ã¨ãã?ファイルåã‚’ã‚»ãƒ?ƒˆã—ã¾ã? 628 * (åˆæœŸå€¤:FILE_FILENAME[={@og.value org.opengion.hayabusa.common.SystemData#FILE_FILENAME}])ã€? 629 * 630 * @og.tag ファイルを作æ?ã™ã‚‹ã¨ãã?ファイルåã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã? 631 * (åˆæœŸå€¤:シスãƒ?ƒ 定数ã®FILE_FILENAME[={@og.value org.opengion.hayabusa.common.SystemData#FILE_FILENAME}])ã€? 632 * 633 * @param filename ファイルå? 634 * @see org.opengion.hayabusa.common.SystemData#USE_SQL_INJECTION_CHECK 635 */ 636 public void setFilename( final String filename ) { 637 this.filename = nval( getRequestParameter( filename ),this.filename ); 638 } 639 640 /** 641 * ã€TAG】ファイルを作æ?ã™ã‚‹ã¨ãã?ファイルエンコーãƒ?‚£ãƒ³ã‚°åã‚’ã‚»ãƒ?ƒˆã—ã¾ã? 642 * (åˆæœŸå€¤:FILE_ENCODE[={@og.value org.opengion.hayabusa.common.SystemData#FILE_ENCODE}])ã€? 643 * 644 * @og.tag 645 * Shift_JIS,MS932,Windows-31J,UTF-8,ISO-8859-1,UnicodeLittle 646 * (åˆæœŸå€¤:シスãƒ?ƒ 定数ã®FILE_ENCODE[={@og.value org.opengion.hayabusa.common.SystemData#FILE_ENCODE}])ã€? 647 * 648 * @og.rev 2.2.0.0 (2002/12/17) ä¸å›½èª?国際化)対å¿?エンコードã?å–得方法変更 649 * @og.rev 3.1.3.0 (2003/04/10) FILE_ENCODE ã‹ã‚‰ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰æƒ…å ±ã‚’å–å¾—ã™ã‚‹ã? 650 * 651 * @param enc ファイルエンコーãƒ?‚£ãƒ³ã‚°å? 652 * @see <a href="http://www.iana.org/assignments/character-sets">IANA Charset Registry</a> 653 * @see org.opengion.hayabusa.common.SystemData#FILE_ENCODE 654 */ 655 public void setEncode( final String enc ) { 656 encode = nval( getRequestParameter( enc ),encode ); 657 } 658 659 /** 660 * ã€TAG】実際ã«èªã¿å‡ºã™ã‚¯ãƒ©ã‚¹åã?略称(TableReader_**** ã® ****)ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?{@og.doc03Link readerClass åˆæœŸå€¤:Default})ã€? 661 * 662 * @og.tag 663 * 実際ã«èªã¿å‡ºã™ã‚¯ãƒ©ã‚¹å?ã®ç•¥ç§°)ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã? 664 * ã“れã¯ã€org.opengion.hayabusa.io 以下ã? TableReader_**** クラス㮠**** ã‚? 665 * 与ãˆã¾ã™ã?ã“れらã?ã€TableReader インターフェースを継承ã—ãŸã‚µãƒ–クラスã§ã™ã? 666 * 属æ?クラス定義㮠{@link org.opengion.hayabusa.io.TableReader TableReader} ã‚’å‚照願ã„ã¾ã™ã? 667 * {@og.doc03Link readerClass TableReader_**** クラス} 668 * 669 * @param readerClass クラスå?ã®ç•¥ç§°) 670 * @see org.opengion.hayabusa.io.TableReader TableReaderã®ã‚µãƒ–クラス 671 */ 672 public void setReaderClass( final String readerClass ) { 673 this.readerClass = nval( getRequestParameter( readerClass ),this.readerClass ); 674 } 675 676 /** 677 * ã€TAG】èªå–æ™‚ã®æœ?¤§å–り込ã¿ä»¶æ•°ã‚’ã‚»ãƒ?ƒˆã—ã¾ã? 678 * (åˆæœŸå€¤:DB_MAX_ROW_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#DB_MAX_ROW_COUNT}])ã€? 679 * 680 * @og.tag 681 * DBTableModelã®ãƒ??ã‚¿ã¨ã—ã¦ç™»éŒ²ã™ã‚‹æœ?¤§ä»¶æ•°ã‚’ã“ã®å€¤ã«è¨å®šã—ã¾ã™ã? 682 * サーãƒã?ã®ãƒ¡ãƒ¢ãƒªè³?ºã¨å¿œç”時間ã?確ä¿ã?為ã§ã™ã? 683 * 0 ã‚’ã‚»ãƒ?ƒˆã™ã‚‹ã¨ã€ç„¡åˆ¶é™?Integer.MAX_VALUE)ã«ãªã‚Šã¾ã™ã? 684 * (åˆæœŸå€¤:ユーザー定数ã®DB_MAX_ROW_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#DB_MAX_ROW_COUNT}])ã€? 685 * 686 * @og.rev 5.5.8.5 (2012/11/27) 0を無制é™ã¨ã—ã¦å‡¦ç?—ã¾ã™ã? 687 * 688 * @param count èªå–æ™‚ã®æœ?¤§å–り込ã¿ä»¶æ•° 689 * @see org.opengion.hayabusa.common.SystemData#DB_MAX_ROW_COUNT 690 */ 691 public void setMaxRowCount( final String count ) { 692 maxRowCount = nval( getRequestParameter( count ),maxRowCount ); 693 if( maxRowCount == 0 ) { maxRowCount = Integer.MAX_VALUE ; } // 5.5.8.5 (2012/11/27) 694 } 695 696 /** 697 * ã€TAG】コマンãƒ?NEW,RENEW)ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:NEW)ã€? 698 * 699 * @og.tag 700 * コマンドã?,HTMLã‹ã‚‰(get/post)æŒ?®šã•れã¾ã™ã?ã§,CMD_xxx ã§è¨å®šã•れる 701 * フィールド定数値ã®ã?¥ã‚Œã‹ã‚’ã?æŒ?®šã§ãã¾ã™ã? 702 * 何もè¨å®šã•れãªã??ã¾ãŸã?ã€null ã®å ´åˆã?ã€?NEW" ãŒå?期å?ã«ã‚»ãƒ?ƒˆã•れã¾ã™ã? 703 * 704 * @param cmd コマンãƒ?public static final 宣è¨?•れã¦ã?‚‹æ–?—å?) 705 * @see <a href="../../../../constant-values.html#org.opengion.hayabusa.taglib.ReadTableTag.CMD_NEW">コマンド定数</a> 706 */ 707 public void setCommand( final String cmd ) { 708 String cmd2 = getRequestParameter( cmd ); 709 if( cmd2 != null && cmd2.length() > 0 ) { command = cmd2.toUpperCase(Locale.JAPAN); } 710 } 711 712 /** 713 * ã€TAG】query ã®çµæžœã‚’ç”»é¢ä¸Šã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒ?‚»ãƒ¼ã‚¸IDを指定ã—ã¾ã?åˆæœŸå€¤:MSG0033[ã€?»¶æ¤œç´¢ã—ã¾ã—ãŸ])ã€? 714 * 715 * @og.tag 716 * ã“ã“ã§ã¯ã€æ¤œç´¢çµæžœã®ä»¶æ•°ã‚?™»éŒ²ã•れãŸä»¶æ•°ã‚’ã¾ãšå?力ã—ã€? 717 * ãã?次ã«ã€ã“ã“ã§æŒ?®šã—ãŸãƒ¡ãƒ?‚»ãƒ¼ã‚¸ã‚’リソースã‹ã‚‰å–å¾—ã—㦠718 * 表示ã—ã¾ã™ã? 719 * 表示ã•ã›ãŸããªã??åˆã?, displayMsg = "" ã‚’ã‚»ãƒ?ƒˆã—ã¦ãã ã•ã„ã€? 720 * åˆæœŸå€¤ã¯ã€æ¤œç´¢ä»¶æ•°ã‚’表示ã—ã¾ã™ã? 721 * 722 * @param id ãƒ?‚£ã‚¹ãƒ—レイã«è¡¨ç¤ºã•ã›ã‚‹ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ ID 723 */ 724 public void setDisplayMsg( final String id ) { 725 if( id != null ) { displayMsg = id; } 726 } 727 728 /** 729 * ã€TAGã€‘æ¤œç´¢çµæžœãŒã‚¼ãƒä»¶ã®å ´åˆã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ãƒªã‚½ãƒ¼ã‚¹IDを指定ã—ã¾ã?åˆæœŸå€¤:MSG0077[対象ãƒ??ã‚¿ã¯ã‚りã¾ã›ã‚“ã§ã—ãŸ])ã€? 730 * 731 * @og.tag 732 * ã“ã“ã§ã¯ã€æ¤œç´¢çµæžœãŒã‚¼ãƒä»¶ã®å ´åˆã?ã¿ã€ç‰¹åˆ¥ãªãƒ¡ãƒ?‚»ãƒ¼ã‚¸ã‚’表示ã•ã›ã¾ã™ã? 733 * 従æ¥ã¯ã€displayMsg ã¨å…¼ç”¨ã§ã€ã?0ã€?»¶æ¤œç´¢ã—ã¾ã—ãŸã€ã¨ã?†è¡¨ç¤ºã§ã—ãŸãŒã? 734 * displayMsg ã®åˆæœŸè¡¨ç¤ºã¯ã€OFF ã«ãªã‚Šã¾ã—ãŸã®ã§ã€ã‚¼ãƒä»¶ã®å ´åˆã?ã¿åˆ¥ã«è¡¨ç¤ºã•ã›ã¾ã™ã? 735 * 表示ã•ã›ãŸããªã??åˆã?, notfoundMsg = "" ã‚’ã‚»ãƒ?ƒˆã—ã¦ãã ã•ã„ã€? 736 * åˆæœŸå€¤ã¯ã€MSG0077[対象ãƒ??ã‚¿ã¯ã‚りã¾ã›ã‚“ã§ã—ãŸ]ã§ã™ã? 737 * 738 * @param id ãƒ?‚£ã‚¹ãƒ—レイã«è¡¨ç¤ºã•ã›ã‚‹ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ ID 739 */ 740 public void setNotfoundMsg( final String id ) { 741 String ids = getRequestParameter( id ); 742 if( ids != null ) { notfoundMsg = ids; } 743 } 744 745 /** 746 * ã€TAG】ファイルå–ã‚Šè¾¼ã¿æ™‚ã? モãƒ?‚£ãƒ•ァイタイãƒ?A(追åŠ?,C(æ›´æ–°),D(削除))を指定ã—ã¾ã™ã? 747 * 748 * @og.tag 749 * ファイルèªã¿è¾¼ã¿æ™‚ã«ã€ãã®ãƒ??ã‚¿ã‚’A(追åŠ?ã€C(æ›´æ–°)ã€D(削除)ã® 750 * モãƒ?‚£ãƒ•ァイタイプをã¤ã‘ãŸçŠ¶æ…‹ã«ã—ã¾ã™ã? 751 * ãã?状態ã§ã€ãã®ã¾ã¾ã€update ã™ã‚‹äº‹ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã? 752 * 753 * @param type ファイルå–ã‚Šè¾¼ã¿æ™‚ã? モãƒ?‚£ãƒ•ァイタイãƒ?A,C,D属æ?) 754 */ 755 public void setModifyType( final String type ) { 756 modifyType = getRequestParameter( type ); 757 } 758 759 /** 760 * ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?シートåã‚’è¨å®šã—ã¾ã?åˆæœŸå€¤:æŒ?®šãªã?ã€? 761 * 762 * @og.tag 763 * EXCELファイルをèªã¿è¾¼ã‚?™‚ã«ã€ã‚·ãƒ¼ãƒˆåを指定ã—ã¾ã™ã?ã“れã«ã‚ˆã‚Šã€è¤?•°ã®å½¢å¼ã? 764 * ç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’é?次èªã¿è¾¼ã‚?“ã¨ã‚??シートをæŒ?®šã—ã¦èªã¿å–ã‚‹ã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã? 765 * sheetNos 㨠sheetName ãŒåŒæ™‚ã«æŒ?®šã•れãŸå ´åˆã?ã€sheetNos ãŒå„ªå…ˆã•れã¾ã™ã?エラーã«ã¯ãªã‚‰ãªã??ã§ã”注æ„ãã?•ã?? 766 * åˆæœŸå€¤ã¯ã€æŒ‡å®šãªã—ã§ã™ã? 767 * 768 * @og.rev 3.5.4.2 (2003/12/15) æ–°è¦è¿½åŠ? 769 * 770 * @param sheet EXCELファイルã®ã‚·ãƒ¼ãƒˆå 771 * @see #setSheetNos( String ) 772 */ 773 public void setSheetName( final String sheet ) { 774 sheetName = nval( getRequestParameter( sheet ),sheetName ); 775 } 776 777 /** 778 * ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?シート番å·ã‚’指定ã—ã¾ã?åˆæœŸå€¤:0)ã€? 779 * 780 * @og.tag 781 * EXCELèªã¿è¾¼ã¿æ™‚ã«è¤?•°ã‚·ãƒ¼ãƒˆã‚’マã?ジã—ã¦å–り込ã¿ã¾ã™ã? 782 * シート番å·ã¯ã€? ã‹ã‚‰å§‹ã¾ã‚‹æ•°å—ã§è¡¨ã—ã¾ã™ã? 783 * ヘッãƒ??ã¯ã€æœ€åˆã?シートã?カラãƒ?½ç½®ã«åˆã‚ã›ã¾ã™ã??ˆã?ãƒ?ƒ€ãƒ¼ã‚¿ã‚¤ãƒˆãƒ«ã®è‡ªå‹•èªè˜ã?ã‚りã¾ã›ã‚“。ï¼? 784 * よã£ã¦ã€æŒ‡å®šã™ã‚‹ã‚·ãƒ¼ãƒˆã?ã€ã™ã¹ã¦åŒä¸?ƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã§ãªã?¨å–ã‚Šè¾¼ã¿æ™‚ã«ã‚«ãƒ©ãƒ??ãšã‚ŒãŒç™ºç”Ÿã—ã¾ã™ã? 785 * 786 * シート番å·ã®æŒ?®šã?ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šã§ã€è¤?•°æŒ?®šã§ãã¾ã™ã?ã¾ãŸã?N-M ã®æ§˜ã«ãƒã‚¤ãƒ•ンã§ç¹‹ã’ã‚‹ã“ã¨ã§ã€? 787 * N 番ã‹ã‚‰ã€M 番ã®ã‚·ãƒ¼ãƒˆç¯?›²ã‚’ä¸?‹¬æŒ?®šå¯èƒ½ã§ã™ã?ã¾ãŸã?"*" ã«ã‚ˆã‚‹ã€å?シート指定ãŒå¯èƒ½ã§ã™ã? 788 * ã“れらã?çµ?¿åˆã‚ã›ã‚‚å¯èƒ½ã§ã™ã???0,1,3,5-8,10-* ?? 789 * ãŸã ã—ã?"*" ã«é–¢ã—ã¦ã¯ä¾‹å¤–çš„ã«ã€ä¸?–‡å—ã ã‘ã§ã€ã™ã¹ã¦ã®ã‚·ãƒ¼ãƒˆã‚’表ã™ã‹ã€N-* ã‚’æœ€å¾Œã«æŒ?®šã™ã‚‹ã‹ã® 790 * ã©ã¡ã‚‰ã‹ã§ã™ã?途ä¸ã«ã¯ã€?*" ã¯ã€ç¾ã‚Œã¾ã›ã‚“ã€? 791 * シート番å·ã¯ã€?‡è¤?1,1,2,2)ã€??転(3,2,1) ã§ã®æŒ?®šãŒå¯èƒ½ã§ã™ã?ã“れã¯ã€ãã®æŒ?®šé?ã§ã€èªã¿è¾¼ã¾ã‚Œã¾ã™ã? 792 * sheetNos 㨠sheetName ãŒåŒæ™‚ã«æŒ?®šã•れãŸå ´åˆã?ã€sheetNos ãŒå„ªå…ˆã•れã¾ã™ã?エラーã«ã¯ãªã‚‰ãªã??ã§ã”注æ„ãã?•ã?? 793 * 794 * åˆæœŸå€¤ã¯ã€??ˆç¬¬ä¸?‚·ãƒ¼ãƒˆï¼?ã§ã™ã? 795 * 796 * @og.rev 5.5.7.2 (2012/10/09) æ–°è¦è¿½åŠ? 797 * 798 * @param sheet EXCELファイルã®ã‚·ãƒ¼ãƒˆç•ªå·??ã‹ã‚‰å§‹ã¾ã‚‹ï¼? 799 * @see #setSheetName( String ) 800 */ 801 public void setSheetNos( final String sheet ) { 802 sheetNos = nval( getRequestParameter( sheet ),sheetNos ); 803 if( sheetNos != null && sheetNos.length() > 0 ) { 804 boolean errFlag = false; 805 for( int i=0; i<sheetNos.length(); i++ ) { 806 char ch = sheetNos.charAt(i); 807 if( ch == '-' || ch == ',' ) { continue; } 808 if( ch == '*' && ( i==0 || i==sheetNos.length()-1 ) ) { continue; } 809 if( ch < '0' || ch > '9' ) { errFlag = true; break; } 810 } 811 if( errFlag ) { 812 String errMsg = "sheetNos ã®æŒ?®šã‚’見直ã—ã¦ãã ã•ã„。sheetNos=[" + sheetNos + "]"; 813 throw new HybsSystemException( errMsg ); 814 } 815 } 816 } 817 818 /** 819 * ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?シートå˜ä½ã?固定å?ã‚’è¨å®šã™ã‚‹ãŸã‚ã?カラãƒ?を指定ã—ã¾ã™ã? 820 * 821 * @og.tag 822 * カラãƒ?ã¯ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šã§æŒ?®šã—ã¾ã™ã? 823 * ã“れã«ã‚ˆã‚Šã€ã‚·ãƒ¼ãƒˆã?ä¸?‹æ‰?«æ›¸ã‹ã‚Œã¦ã?‚‹æƒ??ã‚’ã?DBTableModel ã®ã‚«ãƒ©ãƒ?«å›ºå®šå?ã¨ã—㦠824 * è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã? 825 * 例ã¨ã—ã¦ã€DB定義書ã§ã€ãƒ†ãƒ¼ãƒ–ルåをシートã?全レコードã«è¨å®šã—ãŸã„å ´åˆãªã©ã«ä½¿ã?¾ã™ã? 826 * ã“ã?メソãƒ?ƒ‰ã¯ã€isExcel() == true ã®å ´åˆã?ã¿åˆ©ç”¨ã•れã¾ã™ã? 827 * 828 * @og.rev 5.5.8.2 (2012/11/09) æ–°è¦è¿½åŠ? 829 * 830 * @param constKeys 固定å?ã¨ãªã‚‹ã‚«ãƒ©ãƒ?(CSVå½¢å¼? 831 * @see #setSheetConstAdrs( String ) 832 */ 833 public void setSheetConstKeys( final String constKeys ) { 834 sheetConstKeys = nval( getRequestParameter( constKeys ),null ); 835 } 836 837 /** 838 * ã€TAG】EXCELファイルをèªã¿è¾¼ã‚?¨ãã?シートå˜ä½ã?固定å?ã‚’è¨å®šã™ã‚‹ãŸã‚ã?カラãƒ?ã«å¯¾å¿œã™ã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’指定ã—ã¾ã™ã? 839 * 840 * @og.tag 841 * アドレスã¯ã€EXCEL上ã?è¡?列をカンマ区åˆ?‚Šã§æŒ?®šã—ã¾ã™ã? 842 * 行å?ã¯ã€EXCELã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã«æº–æ‹ ã™ã‚‹ãŸã‚ã€?¼ã‹ã‚‰å§‹ã¾ã‚‹æ•´æ•°ã§ã™ã? 843 * 0-0 â‡?A1 , 1-0 â‡?A2 , 0-1 â‡?B1 ã«ãªã‚Šã¾ã™ã? 844 * ã“れã«ã‚ˆã‚Šã€ã‚·ãƒ¼ãƒˆã?ä¸?‹æ‰?«æ›¸ã‹ã‚Œã¦ã?‚‹æƒ??ã‚’ã?DBTableModel ã®ã‚«ãƒ©ãƒ?«å›ºå®šå?ã¨ã—㦠845 * è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã? 846 * 例ã¨ã—ã¦ã€DB定義書ã§ã€ãƒ†ãƒ¼ãƒ–ルåをシートã?全レコードã«è¨å®šã—ãŸã„å ´åˆãªã©ã«ä½¿ã?¾ã™ã? 847 * ã“ã?メソãƒ?ƒ‰ã¯ã€isExcel() == true ã®å ´åˆã?ã¿åˆ©ç”¨ã•れã¾ã™ã? 848 * 849 * 5.7.6.3 (2014/05/23) よりã€? 850 * â‘?XCELè¡¨è¨˜ã«æº–æ‹ ã—ãŸã€A1,A2,B1 ã®è¨˜è¿°ã‚‚å?ç?§ãるよã†ã«å¯¾å¿œã—ã¾ã™ã? 851 * ãªãŠã?A1,A2,B1 ã®è¨˜è¿°ã¯ã€å¿?šã€è‹±å?æ–?—+数å?ã«ã—ã¦ãã ã•ã„ã€?A?žZã¾ã§) 852 * ②処ç?¸ã®EXCELシートåをカラãƒ?«å‰²ã‚Šå½“ã¦ã‚‹ãŸã‚ã«ã€?SHEET" ã¨ã?†è¨˜å·ã«å¯¾å¿œã—ã¾ã™ã? 853 * 例ãˆã°ã€sheetConstKeys="CLM,LANG,NAME" ã¨ã—ã?sheetConstAdrs="0-0,A2,SHEET" ã¨ã™ã‚‹ã¨ã€? 854 * NAMEカラãƒ?«ã¯ã€ã‚·ãƒ¼ãƒˆåã‚’èªã¿è¾¼ã‚?“ã¨ãŒã§ãã¾ã™ã? 855 * ã“れã¯ã€å?部処ç??ç°¡ç´?Œ–ã®ãŸã‚ã§ã™ã? 856 * 857 * ã¡ãªã¿ã«ã€EXCELã®ã‚»ãƒ«ã«ã€ã‚·ãƒ¼ãƒˆåを表示ã•ã›ã‚‹å?åˆã?関数ã¯ã€ä¸‹è¨˜ã?様ã«ãªã‚Šã¾ã™ã? 858 * =RIGHT(CELL("filename",$A$1),LEN(CELL("filename",$A$1))-FIND("]",CELL("filename",$A$1))) 859 * 860 * @og.rev 5.5.8.2 (2012/11/09) æ–°è¦è¿½åŠ? 861 * 862 * @param constAdrs 固定å?ã¨ãªã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹(è¡?åˆ?è¡?åˆ?・・・) 863 * @see #setSheetConstKeys( String ) 864 */ 865 public void setSheetConstAdrs( final String constAdrs ) { 866 sheetConstAdrs = nval( getRequestParameter( constAdrs ),null ); 867 } 868 869 /** 870 * ã€TAG】ã“ã“ã«æŒ?®šã•れãŸã‚«ãƒ©ãƒ??ã« NULL ãŒç¾ã‚ŒãŸæ™‚点ã§èªã¿å–ã‚Šã‚’ä¸æ¢ã—ã¾ã™ã? 871 * 872 * @og.tag 873 * ã“れã¯ã€æŒ‡å®šã?カラãƒ??å¿??ã¨ã?†äº‹ã‚’æ¡ä»¶ã«ã€ãã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã ã‘ã‚’èªã¿å–る処ç?‚’行ã„ã¾ã™ã? 874 * è¤?•°Sheetã®å ´åˆã?ã€æ¬¡ã®Sheetã‚’èªã¿ã¾ã™ã? 875 * ç¾æ™‚点ã§ã¯ã€Excel ã®å ´åˆã?ã¿æœ‰åйã§ã™ã? 876 * 877 * @og.rev 5.5.8.2 (2012/11/09) æ–°è¦è¿½åŠ? 878 * 879 * @param clm カラãƒ?? 880 */ 881 public void setNullBreakClm( final String clm ) { 882 nullBreakClm = nval( getRequestParameter( clm ),null ); 883 } 884 885 /** 886 * ã€TAG】èªã¿å–りå…?ƒ•ァイルã®ã‚«ãƒ©ãƒ??ã‚’ã?外部(ã‚¿ã‚°)よりæŒ?®šã—ã¾ã™ã? 887 * 888 * @og.tag 889 * èªã¿å–りå…?ƒ•ァイルã®ã‚«ãƒ©ãƒ??ã‚’ã?外部(ã‚¿ã‚°)よりæŒ?®šã—ã¾ã™ã? 890 * ファイルã«è¨˜è¿°ã•れã?#NAME より優先ã—ã¦ä½¿ç”¨ã•れã¾ã™ã? 891 * ã“れã¯ã€å?ファイルã®ã‚«ãƒ©ãƒ?‚’é ?•ªã«æŒ?®šã?カラãƒ?ã«å‰²ã‚Šå½“ã¦ã‚‹æ©Ÿè?ã§ 892 * ファイルã®ç‰¹å®šã?カラãƒ??を抜ãå?ã—ã¦å–り込ã‚?©Ÿè?ã§ã¯ã‚りã¾ã›ã‚“ã€? 893 * 894 * @og.rev 3.5.4.5 (2004/01/23) æ–°è¦ä½œæ? 895 * 896 * @param clms èªã¿å–りå…?ƒ•ァイルã®ã‚«ãƒ©ãƒ??(カンマ区åˆ?‚Šæ–?? 897 */ 898 public void setColumns( final String clms ) { 899 columns = nval( getRequestParameter( clms ),columns ); 900 } 901 902 /** 903 * ã€TAG】èªã¿å–りå…?ƒ•ã‚¡ã‚¤ãƒ«ã®æ•´åˆæ?ãƒã‚§ãƒ?‚¯ã‚’行ã†ã‚«ãƒ©ãƒ??をカンマ指定ã—ã¾ã™ã? 904 * 905 * @og.tag 906 * カラãƒ?‚ªãƒ–ジェクトã?DBType属æ?ã«å¯¾å¿œã—ãŸãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã™ã? 907 * æŒ?®šã?カラãƒ?をカンマ区åˆ?‚Š(CSV)ã§è¤?•°æŒ?®šã§ãã¾ã™ã? 908 * å…¨ã¦ã®ã‚«ãƒ©ãƒ??ãƒã‚§ãƒ?‚¯ã‚’行ã†å ´åˆã?ã€allColumnCheck = "true" ã‚? 909 * æŒ?®šã—ã¦ä¸‹ã•ã?? 910 * åˆ?§£æ–¹æ³•ã?ã€??常ã®ãƒ‘ラメータå–得後ã«ã€CSVåˆ?§£ã—ã¾ã™ã? 911 * 912 * @og.rev 3.6.0.2 (2004/10/04) æ–°è¦è¿½åŠ?å–ã‚Šè¾¼ã¿æ™‚ãƒã‚§ãƒ?‚¯ç”¨ 913 * @og.rev 3.8.8.5 (2007/03/09) 通常ã®ãƒ‘ラメータå–得後ã«ã€CSVåˆ?§£ã«æˆ»ã—ã¾ã™ã? 914 * 915 * @param clms æ•´åˆæ?ãƒã‚§ãƒ?‚¯ã‚’行ã†ã‚«ãƒ©ãƒ??(カンマ区åˆ?‚Šæ–?? 916 */ 917 public void setCheckColumns( final String clms ) { 918 checkColumns = nval( getRequestParameter( clms ),checkColumns ); 919 } 920 921 /** 922 * ã€TAG】èªã¿å–りå…?ƒ•ァイルã®ãƒ??タ変æ›ã‚’行ã†ã‚«ãƒ©ãƒ??をカンマ指定ã—ã¾ã™ã? 923 * 924 * @og.tag 925 * カラãƒ?‚ªãƒ–ジェクトã?DBType属æ?ã«å¯¾å¿œã—ãŸãƒ‡ãƒ¼ã‚¿å¤‰æ›ã‚’行ã„ã¾ã™ã? 926 * æŒ?®šã?カラãƒ?をカンマ区åˆ?‚Š(CSV)ã§è¤?•°æŒ?®šã§ãã¾ã™ã? 927 * åˆ?§£æ–¹æ³•ã?ã€??常ã®ãƒ‘ラメータå–得後ã«ã€CSVåˆ?§£ã—ã¾ã™ã? 928 * 929 * @og.rev 3.6.0.2 (2004/10/04) æ–°è¦è¿½åŠ?å–ã‚Šè¾¼ã¿æ™‚ãƒ‡ãƒ¼ã‚¿å¤‰æ› 930 * @og.rev 3.8.8.5 (2007/03/09) 通常ã®ãƒ‘ラメータå–得後ã«ã€CSVåˆ?§£ã«æˆ»ã—ã¾ã™ã? 931 * 932 * @param clms ãƒ??タ変æ›ã‚’行ã†ã‚«ãƒ©ãƒ??(カンマ区åˆ?‚Šæ–?? 933 */ 934 public void setAdjustColumns( final String clms ) { 935 adjustColumns = nval( getRequestParameter( clms ),adjustColumns ); 936 } 937 938 /** 939 * ã€TAG】NULL ãƒã‚§ãƒ?‚¯ã™ã¹ãカラãƒ??をカンマ区åˆ?‚Š(CVSå½¢å¼?ã§æŒ?®šã—ã¾ã™ã? 940 * 941 * @og.tag nullCheck="AAA,BBB,CCC,DDD" 942 * åˆ?§£æ–¹æ³•ã?ã€??常ã®ãƒ‘ラメータå–得後ã«ã€CSVåˆ?§£ã—ã¾ã™ã? 943 * 944 * @og.rev 3.8.0.2 (2005/06/30) æ–°è¦è¿½åŠ? 945 * @og.rev 3.8.8.5 (2007/03/09) 通常ã®ãƒ‘ラメータå–得後ã«ã€CSVåˆ?§£ã«æˆ»ã—ã¾ã™ã? 946 * 947 * @param clms カラãƒ??(CVSå½¢å¼? 948 */ 949 public void setNullCheck( final String clms ) { 950 nullCheck = nval( getRequestParameter( clms ),nullCheck ); 951 } 952 953 /** 954 * ã€TAGã€‘è¡Œç•ªå·æƒ??ã‚’ã?使用ã—ã¦ã?‚‹/ã—ã¦ã?ªã„[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:true)ã€? 955 * 956 * @og.tag 957 * 通常ã®ãƒ•ォーマットã§ã¯ã€å„行ã?å…ˆé?ã«è¡Œç•ªå·ãŒå?力ã•れã¦ã?¾ã™ã? 958 * èªã¿å–り時ã«ã€?NAME 属æ?を使用ã™ã‚‹å ´åˆã?ã€ã“ã®è¡Œç•ªå·ã‚’無視ã—ã¦ã?¾ã™ã? 959 * #NAME 属æ?を使用ã›ãšã€columns 属æ?ã§ã‚«ãƒ©ãƒ?を指定ã™ã‚‹å?å?他シスãƒ?ƒ ã® 960 * 出力ファイルをèªã¿å–るケースç?ã§ã¯ã€è¡Œç•ªå·ã‚‚å˜åœ¨ã—ãªã?‚±ãƒ¼ã‚¹ãŒã‚りã? 961 * ãã?様ãªå ´åˆã«ã€useNumber="false" を指定ã™ã‚Œã?ã€ãƒ‡ãƒ¼ã‚¿ã®æœ??ã‹ã‚‰èªã¿å–り始ã‚ã¾ã™ã? 962 * ã“ã?å ´åˆã?出力データã®ã‚«ãƒ©ãƒ??並ã³é ?Œå¤‰æ›´ã•れãŸå?åˆã?columns 属æ?ã‚? 963 * æŒ?®šã—ãªãŠã™å¿?¦ãŒã‚りã¾ã™ã?ã§ã€ã§ãã‚‹ã?‘ã€?NAME 属æ?を使用ã™ã‚‹ã‚ˆã†ã« 964 * ã—ã¦ãã ã•ã„ã€? 965 * ãªãŠã?EXCEL 入力ã«ã¯ã€ã“ã®è¨å®šã?é©ç”¨ã•れã¾ã›ã‚“ã€?暫定対å¿? 966 * åˆæœŸå€¤ã¯ã€true(使用ã™ã‚‹) ã§ã™ã? 967 * 968 * @og.rev 3.7.0.5 (2005/04/11) æ–°è¦è¿½åŠ? 969 * 970 * @param useNo è¡Œç•ªå·æƒ?? [true:使用ã™ã‚‹/false:使用ã—ãªã„] 971 */ 972 public void setUseNumber( final String useNo ) { 973 useNumber = nval( getRequestParameter( useNo ),useNumber ); 974 } 975 976 /** 977 * ã€TAG】èªè¾¼ä»¶æ•°ãŒï¼ä»¶ã®ã¨ãå?ç?‚’続行ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false[続行ã™ã‚‹])ã€? 978 * 979 * @og.tag 980 * åˆæœŸå€¤ã¯ã€false(続行ã™ã‚?ã§ã™ã? 981 * 982 * @og.rev 4.3.7.0 (2009/06/01) æ–°è¦è¿½åŠ? 983 * 984 * @param cmd èªè¾¼ä»¶æ•°ãŒï¼ä»¶ã®ã¨ãã?処ç?‚’ [true:䏿¢ã™ã‚‹/false:続行ã™ã‚‹] 985 */ 986 public void setStopZero( final String cmd ) { 987 stopZero = nval( getRequestParameter( cmd ), stopZero ); 988 } 989 990 /** 991 * ã€TAGã€?通常使ã?¾ã›ã‚“)ã‚¿ã‚°ã§å‡¦ç?•れる処ç?Œãƒ¡ã‚¤ãƒ³ã¨ãªã‚‹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å‡¦ç?‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:false)ã€? 992 * 993 * @og.tag 994 * ã“ã?値ã¯ã€ãƒ•ァイルãƒ?‚¦ãƒ³ãƒãƒ¼ãƒ‰å?ç?«å½±éŸ¿ã—ã¾ã™ã?ã“ã?値ãŒtrueã«æŒ?®šã•ã‚ŒãŸæ™‚ã«commitã•れãŸDBTableModelã? 995 * ファイルãƒ?‚¦ãƒ³ãƒãƒ¼ãƒ‰ã?対象ã®è¡¨ã«ãªã‚Šã¾ã™ã? 996 * 997 * ã“ã?パラメーターã¯ã€??常ã€å„ã‚¿ã‚°ã«ã‚ˆã‚Šå®Ÿè£?•れã?ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæŒ‡å®šã™ã‚‹å¿?¦ã?ã‚りã¾ã›ã‚“ã€? 998 * ä½?—ã€?ã¤ã®JSPå†?§DBTableModelãŒè¤?•°ç”Ÿæ?ã•れるå?åˆã«ã€å‰ã«å‡¦ç?—ãŸDBTableModelã«ã¤ã?¦ãƒ•ァイルãƒ?‚¦ãƒ³ãƒãƒ¼ãƒ‰ã‚’ã•ã›ãŸã„ 999 * å ´åˆã?ã€å¾Œã‚ã§DBTableModelを生æˆã™ã‚‹ã‚¿ã‚°ã§ã€æ?示çš?«ã“ã?値をfalseã«æŒ?®šã™ã‚‹ã“ã¨ã§ã€ãƒ•ァイルãƒ?‚¦ãƒ³ãƒãƒ¼ãƒ‰å?ç??対象ã‹ã‚‰ 1000 * 除外ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã? 1001 * 1002 * @og.rev 5.1.6.0 (2010/05/01) æ–°è¦ä½œæ? 1003 * 1004 * @param flag メイントランザクションã‹ã©ã?‹ 1005 */ 1006 public void setMainTrans( final String flag ) { 1007 isMainTrans = nval( getRequestParameter( flag ),isMainTrans ); 1008 } 1009 1010 /** 1011 * ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)ãƒ??ã‚¿ã®èªã¿é£›ã?ã—ä»¶æ•°ã‚’è¨å®šã—ã¾ã™ã? 1012 * 1013 * @og.tag 1014 * TAB区åˆ?‚Šãƒ?‚ストやEXCELç‰ã?ãƒ??ã‚¿ã®èªã¿å§‹ã‚ã®åˆæœŸå€¤ã‚’指定ã—ã¾ã™ã? 1015 * ファイルã®å…ˆé?行ãŒã€?¼è¡Œã¨ã—ã¦ã‚«ã‚¦ãƒ³ãƒˆã—ã¾ã™ã?ã§ã€è¨å®šå?ã¯ã€èªã¿é£›ã?ã? 1016 * ä»¶æ•°ã«ãªã‚Šã¾ã™ã?(?‘ã¨æŒ?®šã™ã‚‹ã¨ã€?¼‘ä»¶èªã¿é£›ã?ã—ã??’行目ã‹ã‚‰èªã¿è¾¼ã¿ã¾ã™ã?) 1017 * èªã¿é£›ã?ã—ã?ã€ã‚³ãƒ¡ãƒ³ãƒˆè¡Œãªã©ã¯ã€ç„¡è¦–ã—ã¾ã™ã?ã§ã€å®Ÿéš›ã®è¡Œæ•°åˆ?ªã¿é£›ã?ã—ã¾ã™ã? 1018 * ?ƒNAME属æ?ã‚??columns 属æ?ã¯ã€æœ‰åйã§ã™ã? 1019 * 1020 * @og.rev 5.1.6.0 (2010/05/01) æ–°è¦ä½œæ? 1021 * 1022 * @param count èªã¿å§‹ã‚ã®åˆæœŸå€¤ 1023 */ 1024 public void setSkipRowCount( final String count ) { 1025 skipRowCount = nval( getRequestParameter( count ),skipRowCount ); 1026 } 1027 1028 /** 1029 * ã€TAG】èªå–å?ç?§ãƒ©ãƒ™ãƒ«ã‚’コードリソースã«é€?¤‰æ›ã‚’行ã†ã‹ã©ã?‹ã‚’指定ã—ã¾ã? 1030 * (åˆæœŸå€¤:USE_TABLE_READER_RENDERER[={@og.value org.opengion.hayabusa.common.SystemData#USE_TABLE_READER_RENDERER}])ã€? 1031 * 1032 * @og.tag 1033 * TableWriter_Renderer ç³»ã®ã‚¯ãƒ©ã‚¹ã§å‡ºåŠ›ã—ãŸå?åˆã?ã€ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ãŒãƒ©ãƒ™ãƒ«ã§å‡ºåŠ›ã•れã¾ã™ã? 1034 * ãã?ファイルをèªã¿å–ã‚‹ã¨ã€å½“ç„¶ã€ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã? 1035 * ã“ã“ã§ã¯ã€ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã®ã‚«ãƒ©ãƒ?«å¯¾ã—ã¦ã€ãƒ©ãƒ™ãƒ«ã‹ã‚‰ã‚³ãƒ¼ãƒ‰ã‚’求ã‚ã‚‹é?変æ›ã‚’行ã†ã“ã¨ã§ã€? 1036 * Renderer ç³»ã§å‡ºåŠ›ã—ãŸãƒ•ァイルをå–り込ã‚?“ã¨ãŒã§ãるよã†ã«ã—ã¾ã™ã? 1037 * 1038 * ã“ã“ã§ã¯ã€TableWriter ç³»ã¨åŒæ§˜ã«ã€TableReader_Renderer ç³»ã®ã‚¯ãƒ©ã‚¹ã‚’作るã®ã§ã¯ãªãã? 1039 * 属æ?値ã®ãƒ•ラグã§ã€åˆ¶å¾¡ã—ã¾ã™ã? 1040 * å°?¥çš?«ã¯ã€TableWriter 系もå»?¢ã—ã¦ã€åŒæ§˜ã?フラグã§åˆ¶å¾¡ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã™ã‚‹äºˆå®šã§ã™ã? 1041 * (åˆæœŸå€¤:シスãƒ?ƒ 定数ã®USE_TABLE_READER_RENDERER[={@og.value org.opengion.hayabusa.common.SystemData#USE_TABLE_READER_RENDERER}])ã€? 1042 * 1043 * @og.rev 5.2.1.0 (2010/10/01) æ–°è¦ä½œæ? 1044 * 1045 * @param flag コードリソースã®ãƒ©ãƒ™ãƒ«é€?¤‰æ›ã‚’行ã†ã‹ã©ã?‹ 1046 * @see org.opengion.hayabusa.common.SystemData#USE_TABLE_READER_RENDERER 1047 */ 1048 public void setUseRenderer( final String flag ) { 1049 useRenderer = nval( getRequestParameter( flag ),useRenderer ); 1050 } 1051 1052 /** 1053 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 1054 * 1055 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 1056 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€? 1057 * 1058 * @param strm ObjectOutputStreamオブジェクãƒ? 1059 * @throws IOException 入出力エラーãŒç™ºç”Ÿã—ãŸå?å? 1060 */ 1061 private void writeObject( final ObjectOutputStream strm ) throws IOException { 1062 strm.defaultWriteObject(); 1063 } 1064 1065 /** 1066 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 1067 * 1068 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã? 1069 * 1070 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 1071 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクトã?ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€? 1072 * 1073 * @param strm ObjectInputStreamオブジェクãƒ? 1074 * @see #release2() 1075 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å? 1076 * @throws ClassNotFoundException クラスを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ããªã‹ã£ãŸå?å? 1077 */ 1078 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException { 1079 strm.defaultReadObject(); 1080 } 1081 1082 /** 1083 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã? 1084 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã? 1085 * 1086 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?è¡¨ç¾ 1087 */ 1088 @Override 1089 public String toString() { 1090 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 1091 .println( "VERSION" ,VERSION ) 1092 .println( "separator" ,separator ) 1093 .println( "fileURL" ,fileURL ) 1094 .println( "filename" ,filename ) 1095 .println( "encode" ,encode ) 1096 .println( "readerClass" ,readerClass ) 1097 .println( "maxRowCount" ,maxRowCount ) 1098 .println( "displayMsg" ,displayMsg ) 1099 .println( "executeCount" ,executeCount ) 1100 .println( "modifyType" ,modifyType ) 1101 .println( "checkColumns" ,checkColumns ) 1102 .println( "adjustColumns" ,adjustColumns ) 1103 .println( "nullCheck" ,nullCheck ) 1104 .println( "command" ,command ) 1105 .println( "tableId" ,tableId ) 1106 .println( "sheetName" ,sheetName ) 1107 .println( "sheetNos" ,sheetNos ) // 5.5.7.2 (2012/10/09) 1108 .println( "columns" ,columns ) 1109 .println( "useNumber" ,useNumber ) 1110 .println( "Other..." ,getAttributes().getAttribute() ) 1111 .fixForm().toString() ; 1112 } 1113 }