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.io;
017
018 import java.io.PrintWriter;
019 import java.util.List;
020 import java.util.Locale;
021 import java.util.Map;
022 import java.util.Map.Entry;
023
024 import org.opengion.hayabusa.common.HybsSystem;
025 import org.opengion.hayabusa.common.HybsSystemException;
026 import org.opengion.hayabusa.db.DBTableModel;
027 import org.opengion.hayabusa.db.DBColumn;
028 import org.opengion.fukurou.util.StringUtil;
029 import org.opengion.fukurou.util.HybsEntry;
030
031 /**
032 * 区åˆ?‚Šæ–?—指å®?åˆæœŸå€¤:ã‚¿ãƒ?ゼãƒã‚«ãƒ³ãƒžãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸ãå?ã—クラスã§ã™ã?
033 *
034 * ラベル?Œåå‰ï¼Œãƒ‡ãƒ¼ã‚¿ã®å‡ºåŠ›éƒ¨ã®ã¿ã‚ªãƒ¼ãƒã?ライドã™ã‚Œã??Œå„種出力フォーマットã«åˆã‚ã›ãŸ
035 * サブクラスを実ç¾ã™ã‚‹äº‹ãŒå¯èƒ½ã§ã™ã?
036 * ゼãƒã‚«ãƒ³ãƒžãƒ•ァイルã¨ã¯ã€EXCELã®ã‚¼ãƒã‚µãƒ—レス対ç–ã¨ã—ã¦ã€??ゼãƒã®æ–?—åž‹ãƒ??ã‚¿ã‚’å?力ã™ã‚?
037 * 時ã«ã€å?é ã«ã‚«ãƒ³ãƒ?')を付ã‘ã¦ã€ã‚¼ãƒãŒå‰Šé™¤(見ãˆãªããªã‚?ç¾è±¡ã‚’抑æ¢ã—ã¦ã?‚‹ãƒ•ァイルã§ã™ã?
038 *
039 * ã“ã?クラスã¯,å¯å¤‰é•·ã‚¿ãƒ–区åˆ?‚Šæ–?—ファイルã®å‡ºåŠ›æ©Ÿè?を実ç¾ã—ã¦ã?¾ã™ã?
040 *
041 * @og.group ファイル出�
042 *
043 * @version 4.0
044 * @author Kazuhiko Hasegawa
045 * @since JDK5.0,
046 */
047 public abstract class AbstractTableWriter implements TableWriter {
048 /** ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */
049 private static final String VERSION = "5.7.9.0 (2014/08/08)" ;
050
051 // 5.1.6.0 (2010/05/01) dbType ã®ç°¡æ˜“çš„ãªè¨å®?
052 /** dbType ã®ç°¡æ˜“çš„ãªè¨å®?{@value} */
053 public static final int STRING = 0;
054 /** dbType ã®ç°¡æ˜“çš„ãªè¨å®?{@value} */
055 public static final int NVAR = 1;
056 /** dbType ã®ç°¡æ˜“çš„ãªè¨å®?{@value} */
057 public static final int NUMBER = 2;
058
059 protected DBTableModel table = null;
060 protected DBColumn[] dbColumn = null; // table ã«å¯¾ã™ã‚‹ã‚«ãƒ©ãƒ?‚ªãƒ–ジェクãƒ?ã‚ャãƒ?‚·ãƒ¥)
061 protected int numberOfColumns = -1; // 4.0.0 (2005/01/31) 出力対象ã®ã‚«ãƒ©ãƒ?•°
062 protected int[] clmNo = null; // 出力対象ã®ã‚«ãƒ©ãƒ?•ªå·é…å?
063 protected int[] dbType = null;
064
065 private String separator = TAB_SEPARATOR; // é ?›®åŒºåˆ?‚Šæ–??
066 private String headerSequence = HybsSystem.sys( "WRITER_HEADER_SEQUENCE" ) ;
067 private boolean append = false; // 3.5.4.2 (2003/12/15)
068 private String lang = null;
069 private String columns = null; // 4.0.0 (2005/11/30) 外部æŒ?®šã?カラãƒ?
070 private String encode = null; // 3.5.4.5 (2004/01/23) エンコード文å—å?æŒ?®?
071
072 private boolean useNumber = true; // 3.7.0.2 (2005/02/14) è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)を指å®?
073 private boolean useRenderer = false; // 5.2.1.0 (2010/10/01)
074
075 /**
076 * DBTableModel ã‹ã‚‰ å?½¢å¼ã?ãƒ??タを作æ?ã—ã¦,PrintWriter ã«æ›¸ãå?ã—ã¾ã™ã?
077 * ã“ã?メソãƒ?ƒ‰ã¯ã€EXCEL 書ãå?ã—æ™‚ã«ä½¿ç”¨ã—ã¾ã™ã?
078 *
079 * @see #isExcel()
080 */
081 abstract public void writeDBTable();
082
083 /**
084 * DBTableModel ã‹ã‚‰ ãƒ??タを作æ?ã—ã¦,PrintWriter ã«æ›¸ãå?ã—ã¾ã™ã?
085 *
086 * @param writer PrintWriterオブジェク�
087 */
088 abstract public void writeDBTable( final PrintWriter writer );
089
090 /**
091 * numberOfColumns 㨠DBColumn ã‚’å?期化ã—ã¾ã™ã?
092 * å†?ƒ¨çš?«ã€DBTableModelã€lang , columns を使用ã—ã¦ã€?
093 * numberOfColumns ã€dbColumnã€clmNoã€dbType ã®å€¤ã‚’å?期化ã—ã¾ã™ã?
094 * カラãƒ?Œ?‘é?目もãªã??åˆã?è¨?ª?lnag)ãŒæœªæŒ?®šã?DBTableModelãŒæœªæŒ?®?null)
095 * ã®å ´åˆã?ã€false ã‚’è¿”ã—ã¾ã™ã?ãã?å ´åˆã?ã€ä»¥ä¸‹ã?処ç??æ£å¸¸ã«è¡Œãˆã¾ã›ã‚“ã€?
096 * ãƒ??ã‚¿ãŒï¼ä»¶ã®å ´åˆã?ã€å?ç?‚’行ã„ã¾ã™ã?通常ã€ã?ãƒ?ƒ€ãƒ¼ã®ã¿ã®ãƒ•ァイルã‚?
097 * 作æ?ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã?(ã“れを雛形ã¨ã—ã¦ã€å–è¾¼ãƒ??タを登録ã™ã‚‹äº‹ãŒå¯èƒ½)
098 *
099 * @og.rev 4.0.0.0 (2005/12/31) 外部æŒ?®šã?カラãƒ?を使用
100 * @og.rev 5.1.6.0 (2010/05/01) DbType ã®åˆæœŸå€¤ã‚’è¨å®šã™ã‚‹ã?
101 *
102 * @return åˆæœŸåŒ–æ?功:true / 失敗:false
103 */
104 protected boolean createDBColumn() {
105
106 boolean rtnFlag = false;
107 if( lang != null && table != null ) {
108 if( columns != null ) {
109 String[] clms = StringUtil.csv2Array( columns );
110 numberOfColumns = clms.length;
111 clmNo = new int[numberOfColumns];
112 for( int i=0; i<numberOfColumns; i++ ) {
113 int no = table.getColumnNo( clms[i] );
114 clmNo[i] = no;
115 }
116 }
117 else {
118 numberOfColumns = table.getColumnCount();
119 clmNo = new int[numberOfColumns];
120 for( int i=0; i<numberOfColumns; i++ ) {
121 clmNo[i] = i;
122 }
123 }
124
125 dbColumn = table.getDBColumns();
126 rtnFlag = (numberOfColumns > 0); // カラãƒ?Œ?‘é?目以上ã‚れã?æˆåŠŸ
127
128 // 5.1.6.0 (2010/05/01) DbType ã®åˆæœŸå€¤ã‚’è¨å®šã™ã‚‹ã?
129 dbType = new int[numberOfColumns];
130 for( int i=0; i<numberOfColumns; i++ ) {
131 String type = dbColumn[clmNo[i]].getDbType();
132
133 if( "NVAR".equals( type ) ) {
134 dbType[i] = NVAR;
135 }
136 else if( "S9".equals( type ) || "R".equals( type ) ) {
137 dbType[i] = NUMBER;
138 }
139 else {
140 dbType[i] = STRING;
141 }
142 }
143 }
144 return rtnFlag;
145 }
146
147 /**
148 * PrintWriter ã« DBTableModelã®ãƒ˜ãƒƒãƒ??æƒ??を書ãè¾¼ã¿ã¾ã™ã?
149 *
150 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
151 *
152 * @param writer PrintWriterオブジェク�
153 */
154 protected void writeHeader( final PrintWriter writer ) {
155 // ã“ã“ã§ã¯å‡¦ç?‚’行ã„ã¾ã›ã‚“ã€?
156 }
157
158 /**
159 * PrintWriter ã« DBTableModelã®ãƒ©ãƒ™ãƒ«æƒ??を書ãè¾¼ã¿ã¾ã™ã?
160 * 第ä¸?‚«ãƒ©ãƒ?›®ã¯ã€ãƒ©ãƒ™ãƒ«æƒ??を示ã?"#Label" を書ãè¾¼ã¿ã¾ã™ã?
161 * ã“ã?行ã?ã€å?力形å¼ã«ç„¡é–¢ä¿‚ã«ã€TableWriter.TAB_SEPARATOR ã§åŒºåˆ?‚‰ã‚Œã¾ã™ã?
162 *
163 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
164 * @og.rev 3.7.0.2 (2005/02/14) è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)を指å®?
165 * @og.rev 4.0.0.0 (2005/12/31) 外部æŒ?®šã?カラãƒ?を使用
166 *
167 * @param table DBTableModelオブジェク�
168 * @param writer PrintWriterオブジェク�
169 */
170 protected void writeLabel( final DBTableModel table,final PrintWriter writer ) {
171 if( useNumber ) {
172 writer.print( "#Label" );
173 writer.print( separator );
174 }
175 else {
176 writer.print( "#" );
177 }
178
179 for( int i=0; i<numberOfColumns; i++ ) {
180 if( i != 0 ) { writer.print( separator ); }
181 int clm = clmNo[i];
182 writer.print( dbColumn[clm].getLabel() );
183 }
184 writer.println();
185 }
186
187 /**
188 * PrintWriter ã« DBTableModelã®é ?›®åæƒ…å ±ã‚’æ›¸ãè¾¼ã¿ã¾ã™ã?
189 * 第ä¸?‚«ãƒ©ãƒ?›®ã¯ã€??ç›®åæƒ…å ±ã‚’ç¤ºã?"#Name" を書ãè¾¼ã¿ã¾ã™ã?
190 * ã“ã?行ã?ã€å?力形å¼ã«ç„¡é–¢ä¿‚ã«ã€TableWriter.TAB_SEPARATOR ã§åŒºåˆ?‚‰ã‚Œã¾ã™ã?
191 *
192 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
193 * @og.rev 3.7.0.2 (2005/02/14) è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)を指å®?
194 *
195 * @param table DBTableModelオブジェク�
196 * @param writer PrintWriterオブジェク�
197 */
198 protected void writeName( final DBTableModel table,final PrintWriter writer ) {
199 if( useNumber ) {
200 writer.print( "#Name" );
201 writer.print( separator );
202 }
203 else {
204 writer.print( "#" );
205 }
206
207 for( int i=0; i<numberOfColumns; i++ ) {
208 if( i != 0 ) { writer.print( separator ); }
209 int clm = clmNo[i];
210 writer.print( table.getColumnName(clm) );
211 }
212 writer.println();
213 }
214
215 /**
216 * PrintWriter ã« DBTableModelã®ã‚µã‚¤ã‚ºæƒ??を書ãè¾¼ã¿ã¾ã™ã?
217 * 第ä¸?‚«ãƒ©ãƒ?›®ã¯ã€ã‚µã‚¤ã‚ºæƒ??を示ã?"#Size" を書ãè¾¼ã¿ã¾ã™ã?
218 * ã“ã?行ã?ã€å?力形å¼ã«ç„¡é–¢ä¿‚ã«ã€TableWriter.TAB_SEPARATOR ã§åŒºåˆ?‚‰ã‚Œã¾ã™ã?
219 *
220 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
221 * @og.rev 3.5.5.5 (2004/04/23) DBColumn ã® size 㨠maxlength ã® æ„味を変更
222 * @og.rev 3.7.0.2 (2005/02/14) è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)を指å®?
223 *
224 * @param table DBTableModelオブジェク�
225 * @param writer PrintWriterオブジェク�
226 */
227 protected void writeSize( final DBTableModel table,final PrintWriter writer ) {
228 if( useNumber ) {
229 writer.print( "#Size" );
230 writer.print( separator );
231 }
232 else {
233 writer.print( "#" );
234 }
235
236 for( int i=0; i<numberOfColumns; i++ ) {
237 if( i != 0 ) { writer.print( separator ); }
238 int clm = clmNo[i];
239 writer.print( dbColumn[clm].getTotalSize() ); // 4.0.0 (2005/01/31) メソãƒ?ƒ‰å変更
240 }
241 writer.println();
242 }
243
244 /**
245 * PrintWriter ã« DBTableModelã®ã‚¯ãƒ©ã‚¹åæƒ…å ±ã‚’æ›¸ãè¾¼ã¿ã¾ã™ã?
246 * 第ä¸?‚«ãƒ©ãƒ?›®ã¯ã€ã‚µã‚¤ã‚ºæƒ??を示ã?"#Class" を書ãè¾¼ã¿ã¾ã™ã?
247 * ã“ã?行ã?ã€å?力形å¼ã«ç„¡é–¢ä¿‚ã«ã€TableWriter.TAB_SEPARATOR ã§åŒºåˆ?‚‰ã‚Œã¾ã™ã?
248 *
249 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
250 *
251 * @param table DBTableModelオブジェク�
252 * @param writer PrintWriterオブジェク�
253 */
254 protected void writeClass( final DBTableModel table,final PrintWriter writer ) {
255 if( useNumber ) {
256 writer.print( "#Class" );
257 writer.print( separator );
258 }
259 else {
260 writer.print( "#" );
261 }
262
263 for( int i=0; i<numberOfColumns; i++ ) {
264 if( i != 0 ) { writer.print( separator ); }
265 int clm = clmNo[i];
266 writer.print( dbColumn[clm].getClassName() );
267 }
268 writer.println();
269 }
270
271 /**
272 * PrintWriter 㫠セパレーターを書ãè¾¼ã¿ã¾ã™ã?
273 * 第ä¸?‚«ãƒ©ãƒ?›®ã¯ã€ã‚µã‚¤ã‚ºæƒ??を示ã?"#----" を書ãè¾¼ã¿ã¾ã™ã?
274 * ã“ã?行ã?ã€å?力形å¼ã«ç„¡é–¢ä¿‚ã«ã€TableWriter.TAB_SEPARATOR ã§åŒºåˆ?‚‰ã‚Œã¾ã™ã?
275 *
276 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
277 * @og.rev 3.7.0.2 (2005/02/14) è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)を指å®?
278 *
279 * @param table DBTableModelオブジェク�
280 * @param writer PrintWriterオブジェク�
281 */
282 protected void writeSeparator( final DBTableModel table,final PrintWriter writer ) {
283 String sep = "----" ;
284 if( useNumber ) {
285 writer.print( "#----" );
286 writer.print( separator );
287 }
288 else {
289 writer.print( "#" );
290 }
291
292 for( int i=0; i<numberOfColumns; i++ ) {
293 if( i != 0 ) { writer.print( separator ); }
294 writer.print( sep );
295 }
296 writer.println();
297 }
298
299 /**
300 * PrintWriter ã« DBTableModelã®ãƒ??ブルæƒ??を書ãè¾¼ã¿ã¾ã™ã?
301 * ã“ã?クラスã§ã¯?Œãƒ‡ãƒ¼ã‚¿ã‚?ãƒ?ƒ–ルコーãƒ??ション(")ã§å›²ã¿ã¾ã™ã?
302 * PrintWriter ã« DBTableModelã®ãƒ??ブルæƒ??を書ãè¾¼ã¿ã¾ã™ã?
303 *
304 * @og.rev 2.0.0.5 (2002/09/30) å…ˆé?ã? ã§ã‹ã¤æ•°å—タイãƒ?S9 or R)ã§ãªã??åˆã« ' ã‚’å?力ã™ã‚‹ã‚ˆã?«ä¿®æ£ã€?
305 * @og.rev 2.3.1.2 (2003/01/28) ãƒ??タ出力時ã«ã€æ”¹è¡ŒãŒä½™å?ã«å‡ºã•れるç®?‰€ã‚’ä¿®æ£ã€?
306 * @og.rev 3.1.0.0 (2003/03/20) DBColumn ã‹ã‚‰ã€getDbType() ã‚ーを直接å–り出ã?
307 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
308 * @og.rev 3.3.3.1 (2003/07/18) ファイルリーãƒ?ライト時ã«å¾Œã‚スペã?スã®é™¤åŽ»ã‚’è¡Œã„ã¾ã™ã?
309 * @og.rev 3.7.0.2 (2005/02/14) è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)を指å®?
310 * @og.rev 3.8.0.1 (2005/06/17) DBTypeã?NVAR ã®å ´åˆã?ã€å?ã®Unicodeã«æˆ»ã—ã¾ã™ã?
311 * @og.rev 5.1.6.0 (2010/05/01) DbType ã®åˆæœŸå€¤(dbType)を利用ã™ã‚‹ã€?
312 * @og.rev 5.2.1.0 (2010/10/01) ã“ã?メソãƒ?ƒ‰ã¯ã€abstract 化ã—ã¾ã™ã?
313 *
314 * @param table DBTableModelオブジェク�
315 * @param writer PrintWriterオブジェク�
316 */
317 abstract protected void writeData( final DBTableModel table,final PrintWriter writer ) ;
318 // protected void writeData( final DBTableModel table,final PrintWriter writer ) {
319 // int numberOfRows = table.getRowCount();
320 //
321 // for( int row=0; row<numberOfRows; row++ ) {
322 // if( useNumber ) {
323 // writer.print( row+1 );
324 // writer.print( separator );
325 // }
326 //
327 // for( int i=0; i<numberOfColumns; i++ ) {
328 // if( i != 0 ) { writer.print( separator ); }
329 //
330 // int clm = clmNo[i];
331 // String val = table.getValue(row,clm);
332 //// if( "NVAR".equals( dbColumn[clm].getDbType()) ) {
333 // if( dbType[i] == NVAR ) {
334 // val = StringUtil.getReplaceEscape( val );
335 // }
336 //
337 // if( val != null && val.length() > 0 && val.charAt(0) == '0' &&
338 //// NUMBER_TYPE_LIST.indexOf( dbColumn[clm].getDbType() ) < 0 ) {
339 // dbType[i] == NUMBER ) {
340 // writer.print( "'" ); // é–‹å§‹æ—¥ãªã©ã® 00000000 ã‚’æ–‡å—å?ã‚¿ã‚¤ãƒ—ã§æ¸¡ã?
341 // }
342 // writer.print( StringUtil.rTrim( val ) );
343 // }
344 // writer.println();
345 // }
346 // }
347
348 /**
349 * DBTableModel ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
350 *
351 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
352 * @og.rev 3.5.4.2 (2003/12/15) lang å¼•æ•°ã‚‚åŒæ™‚ã«è¨å®šã—ã¾ã™ã?
353 *
354 * @param table DBTableModelオブジェク�
355 * @param lang è¨?ªžã‚³ãƒ¼ãƒ?
356 */
357 public void setDBTableModel( final DBTableModel table, final String lang ) {
358 this.table = table;
359 this.lang = lang;
360 }
361
362 /**
363 * å†?ƒ¨ã® DBTableModel ã‚’è¿”ã—ã¾ã™ã?
364 *
365 * @return DBTableModelオブジェク�
366 */
367 public DBTableModel getDBTableModel() {
368 return table;
369 }
370
371 /**
372 * DBTableModelã®å‡ºåŠ›é?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
373 * Label,Name,Size,Class,Data ã®å?ƒ•ィールドã?é æ–?—ã?アルファベットã§
374 * 出力é?ã‚’è¨å®šã—ã¾ã™ã?
375 *
376 * ãªãŠï¼Œå?力é?ã«æŒ?®šã—ãªã??ç›®ã¯å‡ºåŠ›ã•れã¾ã›ã‚“
377 *
378 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
379 *
380 * @param hs 出力é? (LNSCD ãªã©)
381 */
382 public void setHeaderSequence( final String hs ) {
383 if( hs != null ) { headerSequence = hs ; }
384 }
385
386 /**
387 * DBTableModelã®å‡ºåŠ›é?ã‚’è¿”ã—ã¾ã™ã?
388 * Label,Name,Size,Class,Data ã®å?ƒ•ィールドã?é æ–?—ã?アルファベットã§
389 * 出力é?ã‚’è¨å®šã—ã¾ã™ã?
390 *
391 * ãªãŠï¼Œå?力é?ã«æŒ?®šã—ãªã??ç›®ã¯å‡ºåŠ›ã•れã¾ã›ã‚“
392 *
393 * @return 出力é? (LNSCD ãªã©)
394 */
395 public String getHeaderSequence() {
396 return headerSequence ;
397 }
398
399 /**
400 * ãƒ??タを書ãè¾¼ã‚??åˆã?,区åˆ?‚Šæ–?—ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
401 *
402 * @og.rev 3.1.1.0 (2003/03/28) åŒæœŸãƒ¡ã‚½ãƒ?ƒ‰(synchronized付ã)ã‚’éžåŒæœŸã«å¤‰æ›´ã™ã‚‹ã€?
403 *
404 * @param sep 区åˆ?‚Šæ–??
405 */
406 public void setSeparator( final String sep ) {
407 if( sep != null ) { this.separator = sep; }
408 }
409
410 /**
411 * ãƒ??タを書ãè¾¼ã‚??åˆã?,区åˆ?‚Šæ–?—ã‚’è¿”ã—ã¾ã™ã?
412 *
413 * @return 区åˆ?‚Šæ–??
414 */
415 public String getSeparator() {
416 return separator;
417 }
418
419 /**
420 * DBTableModelã®ãƒ??ã‚¿ã¨ã—ã¦æ›¸ãè¾¼ã‚?¨ãã«ã€è¿½åŠ?ƒ¢ãƒ¼ãƒ‰ã§æ›¸ãè¾¼ã‚?‹ã©ã?‹ã‚’è¨å®šã—ã¾ã™ã?
421 * åˆæœŸå€¤ã¯ã€false(æ–°è¦ãƒ¢ãƒ¼ãƒ?ã§ã™ã?
422 *
423 * @og.rev 3.5.4.2 (2003/12/15) æ–°è¦è¿½åŠ?
424 *
425 * @param flag [true:追åŠ?ƒ¢ãƒ¼ãƒ?false:æ–°è¦ãƒ¢ãƒ¼ãƒ‰]
426 */
427 public void setAppend( final boolean flag ) {
428 append = flag;
429 }
430
431 /**
432 * DBTableModelã®ãƒ??ã‚¿ã¨ã—ã¦æ›¸ãè¾¼ã‚?¨ãã«ã€è¿½åŠ?ƒ¢ãƒ¼ãƒ‰ã§æ›¸ãè¾¼ã‚?‹ã©ã?‹ã‚’å–å¾—ã—ã¾ã™ã?
433 * åˆæœŸå€¤ã¯ã€false(æ–°è¦ãƒ¢ãƒ¼ãƒ?ã§ã™ã?
434 *
435 * @og.rev 3.5.4.2 (2003/12/15) æ–°è¦è¿½åŠ?
436 *
437 * @return true(追åŠ?ƒ¢ãƒ¼ãƒ?/false(æ–°è¦ãƒ¢ãƒ¼ãƒ?
438 */
439 public boolean isAppend() {
440 return append ;
441 }
442
443 /**
444 * DBTableModelã®ãƒ??ã‚¿ã¨ã—ã¦èªã¿è¾¼ã‚?¨ãã?シートåã‚’è¨å®šã—ã¾ã™ã?
445 * åˆæœŸå€¤ã¯ã€?Sheet1" ã§ã™ã?
446 * ã“れã¯ã€EXCEL追åŠ?©Ÿè?ã¨ã—ã¦å®Ÿè£?•れã¦ã?¾ã™ã?
447 * ※ ã“ã?クラスã§ã¯å®Ÿè£?•れã¦ã?¾ã›ã‚“ã€?
448 *
449 * @og.rev 3.5.4.2 (2003/12/15) æ–°è¦è¿½åŠ?
450 * @og.rev 3.5.4.3 (2004/01/05) 実è£?»?¢(TableWriter_Excel ã¸ç§»å‹?
451 *
452 * @param sheetName シートå
453 */
454 public void setSheetName( final String sheetName ) {
455 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€EXCEL追åŠ?©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
456 throw new UnsupportedOperationException( errMsg );
457 }
458
459 /**
460 * EXCEL雛型å‚è?ファイルã®ã‚·ãƒ¼ãƒˆåã‚’è¨å®šã—ã¾ã™ã?
461 * ã“れã¯ã€EXCEL追åŠ?©Ÿè?ã¨ã—ã¦å®Ÿè£?•れã¦ã?¾ã™ã?
462 *
463 * EXCELファイルを書ãå?ã™æ™‚ã«ã€?››åž‹ã¨ã—ã¦å‚ç?ã™ã‚‹ã‚·ãƒ¼ãƒˆåを指定ã—ã¾ã™ã?
464 * ã“れã«ã‚ˆã‚Šã€è¤?•°ã®å½¢å¼ã?ç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’é?次書ãå?ã—ãŸã‚?appendモードを併用)ã™ã‚‹
465 * ã“ã¨ã‚??シートをæŒ?®šã—ã¦æ–°è¦ã«EXCELを作æ?ã™ã‚‹å ´åˆã«ãƒ•ォーãƒ?‚’è¨å®šã™ã‚‹äº‹ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã?
466 * åˆæœŸå€¤ã¯ã€null(第ä¸?‚·ãƒ¼ãƒ? ã§ã™ã?
467 * ※ ã“ã?クラスã§ã¯å®Ÿè£?•れã¦ã?¾ã›ã‚“ã€?
468 *
469 * @og.rev 3.5.4.3 (2004/01/05) æ–°è¦è¿½åŠ?
470 *
471 * @param sheetName シートå
472 */
473 public void setRefSheetName( final String sheetName ) {
474 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€EXCEL追åŠ?©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
475 throw new UnsupportedOperationException( errMsg );
476 }
477
478 /**
479 * ã“ã?クラスãŒã?EXCEL対応機è?ã‚’æŒã£ã¦ã?‚‹ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã?
480 *
481 * EXCEL対応機è?ã¨ã¯ã€ã‚·ãƒ¼ãƒˆåã®ã‚»ãƒ?ƒˆã€?››åž‹å‚照ファイルåã?ã‚»ãƒ?ƒˆã€?
482 * 書ãè¾¼ã¿å…?ƒ•ァイルã®Fileオブジェクトå–å¾—ãªã©ã®ã€ç‰¹æ®Šæ©Ÿè?ã§ã™ã?
483 * 本æ¥ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースをå?ã‘ã‚‹ã¹ãã¨è€?ˆã¾ã™ãŒã€taglib クラスç‰ã?
484 * 関係ãŒã‚りã€å•ã?ˆã‚ã›ã«ã‚ˆã‚‹æ¡ä»¶åˆ?²ã§å¯¾å¿œã—ã¾ã™ã?
485 *
486 * @og.rev 3.5.4.3 (2004/01/05) æ–°è¦è¿½åŠ?
487 *
488 * @return EXCEL対応機è?ã‚’æŒã£ã¦ã?‚‹ã‹ã©ã?‹(ã“ã“ã§ã¯ã€false固定ã§ã?
489 */
490 public boolean isExcel() {
491 return false;
492 }
493
494 /**
495 * 出力å?ファイルåã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?(DIR + Filename)
496 * ã“れã¯ã€EXCEL追åŠ?©Ÿè?ã¨ã—ã¦å®Ÿè£?•れã¦ã?¾ã™ã?
497 * ※ ã“ã?クラスã§ã¯å®Ÿè£?•れã¦ã?¾ã›ã‚“ã€?
498 * ã“ã?メソãƒ?ƒ‰ã§ã¯ã€å¿?šã€UnsupportedOperationException ãŒã?throw ã•れã¾ã™ã?
499 *
500 * @og.rev 3.5.4.3 (2004/01/05) æ–°è¦ä½œæ?
501 *
502 * @param filename EXCEL雛型å‚è?ファイルå?
503 */
504 public void setFilename( final String filename ) {
505 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€EXCEL追åŠ?©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
506 throw new UnsupportedOperationException( errMsg );
507 }
508
509 /**
510 * EXCEL雛型å‚è?ファイルåã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?(DIR + Filename)
511 * ã“れã¯ã€EXCEL追åŠ?©Ÿè?ã¨ã—ã¦å®Ÿè£?•れã¦ã?¾ã™ã?
512 * ※ ã“ã?クラスã§ã¯å®Ÿè£?•れã¦ã?¾ã›ã‚“ã€?
513 * ã“ã?メソãƒ?ƒ‰ã§ã¯ã€å¿?šã€UnsupportedOperationException ãŒã?throw ã•れã¾ã™ã?
514 *
515 * @og.rev 3.5.4.3 (2004/01/05) æ–°è¦ä½œæ?
516 *
517 * @param filename EXCEL雛型å‚è?ファイルå?
518 */
519 public void setRefFilename( final String filename ) {
520 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€EXCEL追åŠ?©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
521 throw new UnsupportedOperationException( errMsg );
522 }
523
524 /**
525 * EXCEL出力時ã®ãƒ?ƒ•ォルトフォントåã‚’è¨å®šã—ã¾ã™ã?
526 * ã“れã¯ã€EXCEL追åŠ?©Ÿè?ã¨ã—ã¦å®Ÿè£?•れã¦ã?¾ã™ã?
527 *
528 * EXCELファイルを書ãå?ã™æ™‚ã«ã€ãƒ‡ãƒ•ォルトフォントåを指定ã—ã¾ã™ã?
529 * フォントåã¯ã€EXCELã®ãƒ•ォントåã‚’ãã®ã¾ã¾ä½¿ç”¨ã—ã¦ãã ã•ã„ã€?
530 * å†?ƒ¨çš?«ã€POI ã® org.apache.poi.hssf.usermodel.HSSFFont#setFontName( String )
531 * ã«è¨å®šã•れã¾ã™ã?
532 * åˆæœŸå€¤ã¯ã€ã‚·ã‚¹ãƒ?ƒ リソース ã® TABLE_WRITER_DEFAULT_FONT_NAME ã§ã™ã?
533 *
534 * ※ ã“ã?クラスã§ã¯å®Ÿè£?•れã¦ã?¾ã›ã‚“ã€?
535 * ã“ã?メソãƒ?ƒ‰ã§ã¯ã€å¿?šã€UnsupportedOperationException ãŒã?throw ã•れã¾ã™ã?
536 *
537 * @og.rev 3.8.5.3 (2006/08/07) æ–°è¦è¿½åŠ?
538 *
539 * @param fontName フォントå
540 */
541 public void setFontName( final String fontName ) {
542 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€EXCEL追åŠ?©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
543 throw new UnsupportedOperationException( errMsg );
544 }
545
546 /**
547 * EXCEL出力時ã®ãƒ?ƒ•ォルトフォントã?イント数をè¨å®šã—ã¾ã™ã?
548 * ã“れã¯ã€EXCEL追åŠ?©Ÿè?ã¨ã—ã¦å®Ÿè£?•れã¦ã?¾ã™ã?
549 *
550 * EXCELファイルを書ãå?ã™æ™‚ã«ã€ãƒ‡ãƒ•ォルトã?イント数を指定ã—ã¾ã™ã?
551 * å†?ƒ¨çš?«ã€POI ã® org.apache.poi.hssf.usermodel.HSSFFont#setFontHeightInPoints( short )
552 * ã«è¨å®šã•れã¾ã™ã?
553 * åˆæœŸå€¤ã¯ã€ã‚·ã‚¹ãƒ?ƒ リソース ã® TABLE_WRITER_DEFAULT_FONT_POINTS ã§ã™ã?
554 *
555 * ※ ã“ã?クラスã§ã¯å®Ÿè£?•れã¦ã?¾ã›ã‚“ã€?
556 * ã“ã?メソãƒ?ƒ‰ã§ã¯ã€å¿?šã€UnsupportedOperationException ãŒã?throw ã•れã¾ã™ã?
557 *
558 * @og.rev 3.8.5.3 (2006/08/07) æ–°è¦è¿½åŠ?
559 *
560 * @param point フォントã?イント数
561 */
562 public void setFontPoint( final short point ) {
563 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€EXCEL追åŠ?©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
564 throw new UnsupportedOperationException( errMsg );
565 }
566
567 /**
568 * èªã¿å–りå…?ƒ•ァイルã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰æ–‡å—å?を指定ã—ã¾ã™ã?
569 * ファイルã¯ã€BufferedReader ã§å—ã‘å–ã‚‹ç‚ºã€æœ¬æ¥ã¯ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã?ä¸è¦ã§ã™ãŒã€?
570 * 固定長ファイルã®èªã¿å–り時ã?ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰å?割時ã«ã€æŒ‡å®šã?エンコードã§
571 * åˆ?‰²ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?(例ãˆã°ã€åŠè§’æ–‡å—ã?ã€Shift_JIS ã§ã¯ã€?¼‘ãƒã‚¤ãƒ?
572 *
573 * @og.rev 3.5.4.5 (2004/01/23) æ–°è¦ä½œæ?
574 *
575 * @param enc ファイルã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰æ–‡å—å?
576 */
577 public void setEncode( final String enc ) {
578 encode = enc;
579 }
580
581 /**
582 * èªã¿å–りå…?ƒ•ァイルã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰æ–‡å—å?ã‚’å–å¾—ã—ã¾ã™ã?
583 * ファイルã¯ã€BufferedReader ã§å—ã‘å–ã‚‹ç‚ºã€æœ¬æ¥ã¯ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã?ä¸è¦ã§ã™ãŒã€?
584 * 固定長ファイルã®èªã¿å–り時ã?ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰å?割時ã«ã€æŒ‡å®šã?エンコードã§
585 * åˆ?‰²ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?(例ãˆã°ã€åŠè§’æ–‡å—ã?ã€Shift_JIS ã§ã¯ã€?¼‘ãƒã‚¤ãƒ?
586 *
587 * @og.rev 3.5.4.5 (2004/01/23) æ–°è¦ä½œæ?
588 *
589 * @return ファイルã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰æ–‡å—å?
590 */
591 protected String getEncode() {
592 return encode;
593 }
594
595 /**
596 * è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)を指定ã—ã¾ã™ã?
597 *
598 * 通常ã®ãƒ•ォーマットã§ã¯ã€å„行ã?å…ˆé?ã«è¡Œç•ªå·ã‚’å?力ã—ã¾ã™ã?
599 * ã“れã¯ã€?NAME 属æ?を使用ã™ã‚‹å ´åˆã«ã¯ã€å¿?šå‡ºåŠ›ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
600 * (#NAME 属æ?ã¯ã€èªã¿å–り時ã«ã¯ã€å¿??ã§ã™ã?)
601 * ã“ã?ã€å?é ã®è¡Œç•ªå·ãŒä¸è¦ãªå ´å?ã¤ã¾ã‚Šã?ä»–ã?シスãƒ?ƒ ã¸ã®ãƒ??タ出力ã?
602 * ã“ã?シスãƒ?ƒ ã§ã¯ã€?NAME 属æ?ãŒå?力ã•れãªã?Ÿã‚ã?èªã¿è¾¼ã¿ã§ãã¾ã›ã‚“ã€?
603 * ã“ã?行番å·ã‚’å?力ã—ãªã?‚ˆã?«ã§ãã¾ã™ã?
604 * åˆæœŸå€¤ã¯ã€true(出力ã™ã‚? ã§ã™ã?
605 *
606 * @og.rev 3.7.0.2 (2005/02/14) æ–°è¦è¿½åŠ?
607 *
608 * @param useNumber è¡Œç•ªå·æƒ??ã‚?[true:出力ã™ã‚?false:ã—ãªã„]
609 */
610 public void setUseNumber( final boolean useNumber ) {
611 this.useNumber = useNumber;
612 }
613
614 /**
615 * è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)ã‚’è¿”ã—ã¾ã™ã?
616 *
617 * 通常ã®ãƒ•ォーマットã§ã¯ã€å„行ã?å…ˆé?ã«è¡Œç•ªå·ã‚’å?力ã—ã¾ã™ã?
618 * ã“れã¯ã€?NAME 属æ?を使用ã™ã‚‹å ´åˆã«ã¯ã€å¿?šå‡ºåŠ›ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
619 * (#NAME 属æ?ã¯ã€èªã¿å–り時ã«ã¯ã€å¿??ã§ã™ã?)
620 * ã“ã?ã€å?é ã®è¡Œç•ªå·ãŒä¸è¦ãªå ´å?ã¤ã¾ã‚Šã?ä»–ã?シスãƒ?ƒ ã¸ã®ãƒ??タ出力ã?
621 * ã“ã?シスãƒ?ƒ ã§ã¯ã€?NAME 属æ?ãŒå?力ã•れãªã?Ÿã‚ã?èªã¿è¾¼ã¿ã§ãã¾ã›ã‚“ã€?
622 * ã“ã?行番å·ã‚’å?力ã—ãªã?‚ˆã?«ã§ãã¾ã™ã?
623 * åˆæœŸå€¤ã¯ã€true(出力ã™ã‚? ã§ã™ã?
624 *
625 * @og.rev 3.7.0.2 (2005/02/14) æ–°è¦è¿½åŠ?
626 *
627 * @return è¡Œç•ªå·æƒ??ã‚’ã?出力ã™ã‚?true)/ã—ãªã?false)
628 */
629 protected boolean isUseNumber() {
630 return useNumber;
631 }
632
633 /**
634 * パラメーターリストをセãƒ?ƒˆã—ã¾ã™ã?
635 * å†?ƒ¨ã¯ã€HybsEntry クラスをæŒã£ã¦ã?¾ã™ã?
636 * 引数ãŒã?null ã®å ´åˆã?ã€ä½•ã‚‚ã—ã¾ã›ã‚“ã€?
637 * ※ ã“ã?クラスã§ã¯å®Ÿè£?•れã¦ã?¾ã›ã‚“ã€?
638 *
639 * @og.rev 4.0.0.0 (2005/01/31) æ–°è¦è¿½åŠ?
640 *
641 * @param listParam パラメーターリス�
642 */
643 public void setParam( final List<HybsEntry> listParam ) {
644 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€XML追åŠ?©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
645 throw new UnsupportedOperationException( errMsg );
646 }
647
648 /**
649 * 出力å?ファイルã®ã‚«ãƒ©ãƒ??ã‚’ã?外部(ã‚¿ã‚°)よりCSVå½¢å¼ã?æ–?—å?ã§æŒ?®šã—ã¾ã™ã?
650 * ãŸã ã—ã?æŒ?®šã?カラãƒ?ã¯ã€DBTableModel上ã«å˜åœ¨ã—ã¦ã?‚‹å¿?¦ãŒã‚りã¾ã™ã?
651 *
652 * @og.rev 4.0.0.0 (2005/11/30) æ–°è¦è¿½åŠ?
653 *
654 * @param clms 出力å?ファイルã®ã‚«ãƒ©ãƒ??(カンマ区åˆ?‚Šæ–??
655 */
656 public void setColumns( final String clms ) {
657 columns = clms ;
658 }
659
660 /**
661 * ãƒ??ã‚¿ã®æ›¸ãè¾¼ã¿é–‹å§‹è¡Œç•ªå·ã‚’è¨å®šã—ã¾ã?åˆæœŸå€¤:0)ã€?
662 *
663 * TAB区åˆ?‚Šãƒ?‚ストやEXCELç‰ã?ãƒ??ã‚¿ã®æ›¸ãè¾¼ã¿ã®é–‹å§‹è¡Œç•ªå·ã‚’指定ã—ã¾ã™ã?
664 * 属æ?åã?ã€è¡Œã‚’飛ã?ã™å?ç?¨ã?†ã“ã¨ã§ã€readTable ã‚¿ã‚°ã¨åŒã˜åç§°ã§ã™ã?
665 * ファイルã®å…ˆé?行ãŒã€?¼è¡Œã¨ã—ã¦ã‚«ã‚¦ãƒ³ãƒˆã—ã¾ã™ã?ã§ã€è¨å®šå?ã¯ã€èªã¿é£›ã?ã?
666 * ä»¶æ•°ã«ãªã‚Šã¾ã™ã?(?‘ã¨æŒ?®šã™ã‚‹ã¨ã€?¼‘ä»¶èªã¿é£›ã?ã—ã??’行目ã‹ã‚‰èªã¿è¾¼ã¿ã¾ã™ã?)
667 * 行ã?èªã¿é£›ã?ã—ã¨ã€ã‚«ãƒ©ãƒ??èªã¿é£›ã?ã?columns)ã€refFileURLã€refFilenameã€?
668 * refSheetName ã¨ã¨ã‚‚ã«ä½¿ç”¨ã™ã‚Œã°ã€ã‚る程度ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆè¨å®šãŒå¯èƒ½ã§ã™ã?
669 * ãªãŠã?ã“ã?機è?ã¯ã€TableWriter_Excel ã®ã¿ã«å®Ÿè£?—ã¾ã™ã?
670 *
671 * @og.rev 5.7.9.0 (2014/08/08) æ–°è¦ä½œæ?
672 *
673 * @param skipRowCount 書ãè¾¼ã¿é–‹å§‹è¡Œç•ªå·
674 */
675 public void setSkipRowCount( final int skipRowCount ) {
676 if( skipRowCount != 0 ) {
677 String errMsg = "ã“ã?メソãƒ?ƒ‰ã¯ã€TableWriter_Excel ã®ã¿ã®æ©Ÿè?ã§ã™ã?ã§ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€?;
678 throw new UnsupportedOperationException( errMsg );
679 }
680 }
681
682 /**
683 * 書込処ç?§ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ©ãƒ™ãƒ«å¤‰æ›ã‚’行ã†ã‹ã©ã?‹[true/false]を指定ã—ã¾ã™ã?
684 *
685 * コードリソースをãã®ã¾ã¾ã®å€¤ã§å‡ºåŠ›ã™ã‚‹ã¨ã€æ•°å—や記å·ã«ãªã‚Šä½•ãŒæ›¸ã‹ã‚Œã¦ã?‚‹ã®ã?
686 * 䏿?ã«ãªã‚Šã¾ã™ã?
687 * ã“れã¯ã€ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã‚’ラベルã«å¤‰æ›ã—ã¦å‡ºåŠ›ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã?
688 * 当然ã€ã‚³ãƒ¼ãƒ‰ã?ユニã?クã§ã™ãŒã€ãƒ©ãƒ™ãƒ«ã¯ãƒ¦ãƒ‹ã?クã«ãªã‚‹ã‹ã©ã?‹ä¿éšœã¯ã•れã¦ã?¾ã›ã‚“ã®ã§
689 * TableReader ç³»ã§èªã¿è¾¼ã‚??åˆã«ã¯ã€ãƒªã‚¹ã‚¯ãŒç™ºç”Ÿã—ã¾ã™ã?
690 * ã¾ãŸã?TableReader ç³»ã§èªã¿è¾¼ã‚??åˆã«ã‚‚ã?ラベルã‹ã‚‰ã‚³ãƒ¼ãƒ‰ã‚’求ã‚ã‚‹é?変æ›ã‚’行ã†ã‚ˆã†ã«ã€?
691 * setUseRenderer メソãƒ?ƒ‰ã§æŒ?®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
692 *
693 * 従æ¥ã¯ã€TableWriter ç³»ã«ã€TableWriter_Renderer ç³»ã®ã‚¯ãƒ©ã‚¹ã‚’作ã£ã¦å¯¾å¿œã—ã¦ã?¾ã—ãŸãŒã?
694 * ã“ã?メソãƒ?ƒ‰ã®å±žæ?値ã®ãƒ•ラグã§ã€åˆ¶å¾¡ã—ã¾ã™ã?
695 *
696 * @og.rev 5.2.1.0 (2010/10/01) æ–°è¦ä½œæ?
697 *
698 * @param useRenderer コードリソースã®ãƒ©ãƒ™ãƒ«å¤‰æ›ã‚’行ã†ã‹ã©ã?‹ [true:行ã†/false:行ã‚ãªã„]
699 */
700 public void setUseRenderer( final boolean useRenderer ) {
701 this.useRenderer = useRenderer;
702 }
703
704 /**
705 * 書ãå?ã—å?ç?§ã‚³ãƒ¼ãƒ‰ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ©ãƒ™ãƒ«å¤‰æ›ã‚’行ã†ã‹ã©ã?‹ã‚’è¿”ã—ã¾ã™ã?
706 * åˆæœŸå€¤ã¯ã€false(行ã‚ãªã? ã§ã™ã?
707 *
708 * @og.rev 5.2.1.0 (2010/10/01) æ–°è¦ä½œæ?
709 *
710 * @return ラベル変æ›ã‚’行ã†ã‹ã©ã?‹(true:行ã†/false:行ã‚ãªã?
711 */
712 protected boolean isUseRenderer() {
713 return useRenderer ;
714 }
715
716 /**
717 * ãƒ??ã‚¿ã‚?ãƒ?ƒ–ルコーãƒ??ション(")ã§å›²ã¿ã¾ã™ã?
718 *
719 * ã“ã?処ç?§ã¯ã€å‰å¾Œã‚’ãƒ?ƒ–ルクオートã§å›²ã?Ÿã‚ã?改行ã?有無ã¯åˆ¤å®šã™ã‚?
720 * å¿?¦ã?ã‚りã¾ã›ã‚“ã€?
721 * ãƒ?ƒ–ルクオートをå«ã‚??åˆã?ã€ãã®ç›´å‰ã«ãƒ?ƒ–ルクオートを強制çš?«è¿½åŠ?—ã¾ã™ã?
722 *
723 * @param data å…??Stringæ–?—å?
724 *
725 * @return ãƒ?ƒ–ルコーãƒ??ションã§å›²ã¾ã‚ŒãŸæ–?—å?
726 */
727 protected String quotation( final String data ) {
728 return "\"" + StringUtil.replace( data,"\"","\"\"" ) + "\"" ;
729 }
730
731 /**
732 * ãƒ??ã‚¿ã«å¯¾ã—㦠改行ã?ãƒ?ƒ–ルクオートç‰ã?処ç?‚’行ã„ã¾ã™ã?
733 *
734 * ã“れã¯ã€ãƒ‡ãƒ¼ã‚¿ã®å‰å¾Œã‚’ãƒ?ƒ–ãƒ«ã‚¯ã‚ªãƒ¼ãƒˆã§æ‹¬ã‚?quotation(String)ã¨ç•°ãªã‚?
735 * å‰å¾Œã«ã¯ã€ãƒ€ãƒ–ルクオーãƒ?を追åŠ?—ã¾ã›ã‚“ã€?
736 * ãŸã ã—ã?以下ã??’ã¤ã®æ¡ä»¶ã§å‡¦ç?‚’行ã„ã¾ã™ã?
737 * ?‘.改行をå«ã‚??åˆã?ã€ãƒ€ãƒ–ルクオートを強制çš?«å‰å¾Œã«è¿½åŠ?™ã‚‹ã?
738 * ?’.ダブルクオートをå«ã‚??åˆã?ã€ãã®ç›´å‰ã«ãƒ?ƒ–ルクオートを強制çš?«è¿½åŠ?™ã‚‹ã?
739 *
740 * @og.rev 5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
741 *
742 * @param data å…??Stringæ–?—å?
743 *
744 * @return 改行ã?ãƒ?ƒ–ルクオートç‰ã?処ç?
745 */
746 protected String quotation2( final String data ) {
747 String rtn = StringUtil.replace( data,"\"","\"\"" );
748 if( rtn != null && rtn.indexOf( HybsSystem.CR ) >= 0 ) {
749 rtn = "\"" + rtn + "\"" ;
750 }
751
752 return rtn ;
753 }
754
755 /**
756 * keys ã®æ•´åˆæ?ãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã™ã?
757 *
758 * ã‚ーã‹keysMapã®ã©ã¡ã‚‰ã‹ã?null ã®å ´åˆã?ã€ä½•ã‚‚ã—ã¾ã›ã‚“ã€?
759 * ãƒã‚§ãƒ?‚¯ã™ã‚‹ã‚ーã¯ã€å?部ã§å¤§æ–?—ã«å¤‰æ›ã—ã¦ãŠãã¾ã™ã?
760 * keysMap ã«ç™»éŒ²ã™ã‚‹ã‚ーã¯ã€å¤§æ–?—ã§ç™»éŒ²ã—ã¦ãŠã„ã¦ãã ã•ã„ã€?
761 * ã“ã“ã®ãƒã‚§ãƒ?‚¯ã§ã¯ã€ã‚ーマップã«å˜åœ¨ã—ãªã‘れã°ã€ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã?
762 *
763 * @og.rev 5.6.6.1 (2013/07/12) keys ã®æ•´åˆæ?ãƒã‚§ãƒ?‚¯ã‚’行ã„ã¾ã™ã?
764 *
765 * @param key ãƒã‚§ãƒ?‚¯ã™ã‚‹ã‚ーæ–?—å?(null ã®å ´åˆã?ã€å?ç?—ãªã?
766 * @param keysMap 利用å¯èƒ½ãªã‚ーã®ãƒžãƒƒãƒ?大æ–?—ã«çµ±ä¸?
767 */
768 protected void checkParam( final String key,final Map<String,String> keysMap ) {
769 // key ã?keysMap ã‹ã©ã¡ã‚‰ã‹ã?null ã®å ´åˆã?ã€å?ç?‚’行ã‚ãªã??
770 if( key == null || keysMap == null ) { return; }
771
772 String upKey = key.toUpperCase(Locale.JAPAN);
773
774 if( ! keysMap.containsKey( upKey ) ) {
775 String BR = "<br />" + HybsSystem.CR ;
776 StringBuilder errMsg = new StringBuilder();
777 errMsg.append( BR )
778 .append( "æŒ?®šã?ã‚ーã¯ã€ã“ã® tableWriter ã§ã¯ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€? ).append( BR )
779 .append( " class=[" ).append( getClass().getName() ).append( "]" ).append( BR )
780 .append( " key =[" ).append( key ).append( "]" ).append( BR )
781 .append( " ======== usage keys ======== " ).append( BR ) ;
782 for( Map.Entry<String, String> entry : keysMap.entrySet() ) {
783 errMsg.append( " " ).append( entry.getKey() ).append( " : " )
784 .append( entry.getValue() ).append( BR ) ;
785 }
786 errMsg.append( " ============================ " ).append( BR );
787
788 throw new HybsSystemException( errMsg.toString() );
789 }
790 }
791 }