|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 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メソッドのメソッドオブジェクトの配列を生成する。
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)を格納する変数。
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()
- ファイル行オブジェクトの属性のフィールドオブジェクトの配列を生成する。
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
索引
ヘルプ
前のクラス
次のクラス
フレームあり
フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド
詳細: フィールド | コンストラクタ | メソッド