|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.terasoluna.fw.file.dao.standard.AbstractFileLineIterator<T>
T
- ファイル行オブジェクト。public abstract class AbstractFileLineIterator<T>
ファイルアクセス(データ取得)用の共通クラス。
ファイルアクセス(データ取得)を行う3つのクラス(CSV、固定長、可変長) に共通する処理をまとめた抽象クラス。
ファイルの種類に対応するサブクラスが処理を行う。
使用例はFileLineIterator
を参照のこと。
IllegalStateExceptionが発生する。
ジョブ再実行までにファイルを更新するとリスタート機能が正常に動作しない。
- 関連項目:
FileLineIterator
,
CSVFileLineIterator
,
FixedFileLineIterator
,
VariableFileLineIterator
,
PlainFileLineIterator
フィールドの概要
private java.lang.Class<T>
clazz
結果クラス。
private int
columnCount
ファイル行オブジェクトで定義されているカラム数(@InputFileColumnが付いている属性の数)を格納する。
private java.util.Map<java.lang.String,ColumnParser>
columnParserMap
カラムパーザーを格納するマップ。
private int
currentLineCount
ファイル入力処理済みのデータ部の行数。
private java.lang.String
currentLineString
現在のデータ部の1行分の文字列。
private java.lang.reflect.Field[]
fields
ファイル行オブジェクトのField情報(Annotation)を格納する変数。
private java.lang.String
fileEncoding
ファイルエンコーディング。
private java.lang.String
fileName
ファイル名。
private java.util.List<java.lang.String>
header
ヘッダ部の文字列リスト。
private int
headerLineCount
ヘッダ行数。
private java.lang.String
lineFeedChar
行区切り文字。
private LineReader
lineReader
1行分の文字列を読み込むオブジェクト
private java.lang.reflect.Method[]
methods
ファイル行オブジェクトのFieldに対応するsetterメソッドを格納する。
private boolean
readData
データ部処理確認用フラグ。
private java.io.Reader
reader
ファイルアクセス用の文字ストリーム。
private boolean
readHeader
ヘッダ部処理確認用フラグ。
private boolean
readTrailer
トレイラ部処理確認用フラグ。
private StringConverter[]
stringConverter
ファイル行オブジェクトのストリングコンバータを格納する変数。
private static java.util.Map<java.lang.Class,StringConverter>
stringConverterCacheMap
ファイル行オブジェクトのストリングコンバータを格納するマップ。
private java.util.List<java.lang.String>
trailer
トレイラ部の文字列リスト。
private int
trailerLineCount
トレイラ行数。
private java.util.Queue<java.lang.String>
trailerQueue
トレイラ部の一時格納用のキュー。
コンストラクタの概要
AbstractFileLineIterator(java.lang.String fileName,
java.lang.Class<T> clazz,
java.util.Map<java.lang.String,ColumnParser> columnParserMap)
コンストラクタ。
メソッドの概要
private void
buildFields()
ファイル行オブジェクトの属性のフィールドオブジェクトの配列を生成する。
private void
buildMethods()
ファイル行オブジェクトの属性のsetterメソッドのメソッドオブジェクトの配列を生成する。
private void
buildStringConverter()
ファイル行オブジェクトの属性の文字変換種別オブジェクトの配列を生成する。
void
closeFile()
ファイル閉塞処理。
int
getCurrentLineCount()
ファイル入力処理済みのデータ部の行数を取得する。
protected abstract char
getDelimiter()
区切り文字を取得する。
protected abstract char
getEncloseChar()
囲み文字を取得する。
protected java.lang.reflect.Field[]
getFields()
ファイル行オブジェクトのField情報(Annotation)を格納する変数を取得する。
protected java.lang.String
getFileEncoding()
ファイルエンコーディング取得する。
protected java.lang.String
getFileName()
ファイル名を取得する。
java.util.List<java.lang.String>
getHeader()
ヘッダ部のデータを取得するメソッド。
protected int
getHeaderLineCount()
ヘッダ行数を取得する。
protected java.lang.String
getLineFeedChar()
行区切り文字を取得する。
java.util.List<java.lang.String>
getTrailer()
トレイラ部のデータを取得するメソッド.
protected int
getTrailerLineCount()
トレイラ行数を取得する。
boolean
hasNext()
次の行のレコードがあるかどうか確認するためのメソッド。
protected void
init()
初期化処理。
T
next()
繰り返し処理でファイル行オブジェクトを返却する。
protected java.lang.String
readLine()
ファイルからデータ部のデータを1行分読み取り、文字列として呼出元に返却する.
void
remove()
Iteratorで定義されているメソッド。
protected abstract java.lang.String[]
separateColumns(java.lang.String fileLineString)
文字列分割処理.
void
skip(int skipLines)
リスタート時に処理済のデータ部のデータを読み飛ばす処理を実行する。
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
フィールドの詳細
fileName
private java.lang.String fileName
- ファイル名。
clazz
private java.lang.Class<T> clazz
- 結果クラス。
lineFeedChar
private java.lang.String lineFeedChar
- 行区切り文字。
fileEncoding
private java.lang.String fileEncoding
- ファイルエンコーディング。
headerLineCount
private int headerLineCount
- ヘッダ行数。
trailerLineCount
private int trailerLineCount
- トレイラ行数。
currentLineString
private java.lang.String currentLineString
- 現在のデータ部の1行分の文字列。
currentLineCount
private int currentLineCount
- ファイル入力処理済みのデータ部の行数。
reader
private java.io.Reader reader
- ファイルアクセス用の文字ストリーム。
fields
private java.lang.reflect.Field[] fields
- ファイル行オブジェクトのField情報(Annotation)を格納する変数。
stringConverter
private StringConverter[] stringConverter
- ファイル行オブジェクトのストリングコンバータを格納する変数。
stringConverterCacheMap
private static java.util.Map<java.lang.Class,StringConverter> stringConverterCacheMap
- ファイル行オブジェクトのストリングコンバータを格納するマップ。
methods
private java.lang.reflect.Method[] methods
- ファイル行オブジェクトのFieldに対応するsetterメソッドを格納する。
columnParserMap
private java.util.Map<java.lang.String,ColumnParser> columnParserMap
- カラムパーザーを格納するマップ。
header
private java.util.List<java.lang.String> header
- ヘッダ部の文字列リスト。
trailer
private java.util.List<java.lang.String> trailer
- トレイラ部の文字列リスト。
readHeader
private boolean readHeader
- ヘッダ部処理確認用フラグ。
readData
private boolean readData
- データ部処理確認用フラグ。
readTrailer
private boolean readTrailer
- トレイラ部処理確認用フラグ。
trailerQueue
private java.util.Queue<java.lang.String> trailerQueue
- トレイラ部の一時格納用のキュー。
lineReader
private LineReader lineReader
- 1行分の文字列を読み込むオブジェクト
columnCount
private int columnCount
- ファイル行オブジェクトで定義されているカラム数(@InputFileColumnが付いている属性の数)を格納する。
コンストラクタの詳細
AbstractFileLineIterator
public AbstractFileLineIterator(java.lang.String fileName,
java.lang.Class<T> clazz,
java.util.Map<java.lang.String,ColumnParser> columnParserMap)
- コンストラクタ。
- パラメータ:
fileName
- ファイル名clazz
- 結果クラスcolumnParserMap
- フォーマット処理リスト
メソッドの詳細
hasNext
public boolean hasNext()
- 次の行のレコードがあるかどうか確認するためのメソッド。
繰り返し処理でさらに要素がある場合に true を返します。
- 定義:
- インタフェース
java.util.Iterator
内の hasNext
- 定義:
- インタフェース
FileLineIterator<T>
内の hasNext
- 戻り値:
- 繰り返し処理でさらに要素がある場合に
true
next
public T next()
- 繰り返し処理でファイル行オブジェクトを返却する。
次の行のレコードの情報をファイル行オブジェクトに格納して返却します。
繰り返し処理で次の要素を返します。
- 定義:
- インタフェース
java.util.Iterator
内の next
- 定義:
- インタフェース
FileLineIterator<T>
内の next
- 戻り値:
- ファイル行オブジェクト
remove
public void remove()
- Iteratorで定義されているメソッド。
FileQueryDAOでは実装しないので、他のクラスから呼び出した場合、
UnsupportedOperationExceptionをスローする。
- 定義:
- インタフェース
java.util.Iterator
内の remove
init
protected void init()
- 初期化処理。
初期化処理で行うのは以下の3つ。
- ファイル行オブジェクトの属性(Field)の取得
- トレイラキューの初期化
- ファイルオープン処理
buildFields
private void buildFields()
- ファイル行オブジェクトの属性のフィールドオブジェクトの配列を生成する。
buildStringConverter
private void buildStringConverter()
- ファイル行オブジェクトの属性の文字変換種別オブジェクトの配列を生成する。
buildMethods
private void buildMethods()
- ファイル行オブジェクトの属性のsetterメソッドのメソッドオブジェクトの配列を生成する。
closeFile
public void closeFile()
- ファイル閉塞処理。
- 定義:
- インタフェース
FileLineIterator<T>
内の closeFile
getHeader
public java.util.List<java.lang.String> getHeader()
- ヘッダ部のデータを取得するメソッド。
- 定義:
- インタフェース
FileLineIterator<T>
内の getHeader
- 戻り値:
- header ヘッダ部の文字列リスト
getTrailer
public java.util.List<java.lang.String> getTrailer()
- トレイラ部のデータを取得するメソッド.
- 定義:
- インタフェース
FileLineIterator<T>
内の getTrailer
- 戻り値:
- トレイラ部の文字列リスト
readLine
protected java.lang.String readLine()
- ファイルからデータ部のデータを1行分読み取り、文字列として呼出元に返却する.
- 戻り値:
- データ部の1行分の文字列
skip
public void skip(int skipLines)
- リスタート時に処理済のデータ部のデータを読み飛ばす処理を実行する。
- 定義:
- インタフェース
FileLineIterator<T>
内の skip
- パラメータ:
skipLines
- 読み飛ばす行数。
getDelimiter
protected abstract char getDelimiter()
- 区切り文字を取得する。
- 戻り値:
- 行区切り文字。
getEncloseChar
protected abstract char getEncloseChar()
- 囲み文字を取得する。
- 戻り値:
- 囲み文字。
separateColumns
protected abstract java.lang.String[] separateColumns(java.lang.String fileLineString)
- 文字列分割処理.
データ部のデータ1行分をファイル行オブジェクトのアノテーションの記述に
従いカラムに分割する。
- パラメータ:
fileLineString
- データ部のデータ1行分
- 戻り値:
- データ部1行の文字列を分解した文字配列
getLineFeedChar
protected java.lang.String getLineFeedChar()
- 行区切り文字を取得する。
- 戻り値:
- 行区切り文字
getFileEncoding
protected java.lang.String getFileEncoding()
- ファイルエンコーディング取得する。
- 戻り値:
- ファイルエンコーディング
getHeaderLineCount
protected int getHeaderLineCount()
- ヘッダ行数を取得する。
- 戻り値:
- ヘッダ行数
getTrailerLineCount
protected int getTrailerLineCount()
- トレイラ行数を取得する。
- 戻り値:
- トレイラ行数
getCurrentLineCount
public int getCurrentLineCount()
- ファイル入力処理済みのデータ部の行数を取得する。
- 戻り値:
- ファイル入力処理済みのデータ部の行数。
getFields
protected java.lang.reflect.Field[] getFields()
- ファイル行オブジェクトのField情報(Annotation)を格納する変数を取得する。
- 戻り値:
- ファイル行オブジェクトのField情報(Annotation)を格納する変数
getFileName
protected java.lang.String getFileName()
- ファイル名を取得する。
- 戻り値:
- fileName ファイル名
概要
パッケージ
クラス
使用
階層ツリー
非推奨 API
索引
ヘルプ
前のクラス
次のクラス
フレームあり
フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド
詳細: フィールド | コンストラクタ | メソッド