| 
 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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  
      索引  
      ヘルプ  
   
 
 
 
 前のクラス 
 次のクラス 
  フレームあり   
 フレームなし   
 
 
 
  概要:  入れ子 | フィールド | コンストラクタ | メソッド 
詳細:  フィールド | コンストラクタ | メソッド