rydeen
クラス AbstractProcessor

java.lang.Object
  上位を拡張 rydeen.AbstractProcessor
すべての実装されたインタフェース:
Processor
直系の既知のサブクラス:
NopProcessor, StringEncryptObfuscator

public abstract class AbstractProcessor
extends Object
implements Processor

抽象処理器クラスです.Processorにライフサイクルの概念が導入されています.

ライフサイクルはStageクラスで表され,以下のように状態が遷移します.

 UNINITIALIZED
     ↓ init
 INITIALIZED
     ↓ prepareexecute
 PROCESSING
     ↓ perform
 PROCESSED
     ↓ finishsummarize
 FINISHED

矢印の右に書かれている文字はメソッドを表しており, そのメソッドが呼び出されることで,ライフサイクルの状態が遷移します. 斜体で示されているメソッドが抽象メソッドであり,サブクラスでオーバーライドしなければならないメソッドです. その他のメソッドはfinal宣言されているため,オーバーライドできません. なお,状態は以降,ステージ,もしくはstageとして表記されます.

このオブジェクトが作成された直後のステージはUNINITIALIZEDです. initメソッドが呼び出されることにより,INITIALIZEDに移行します. なお,initメソッドからprepareメソッドを呼び出しますが, prepareメソッド呼び出しの直前にINITIALIZEDにステージは移行します. 続いて,executeメソッドが呼び出され,PROCESSINGステージに移行し, 自動的にperformメソッドが呼び出されます. そして,performメソッドの呼び出しが終了すると,PROCESSEDステージに移行します. 最後にfinishメソッドが呼び出され,finishメソッドからsummarizeメソッドが呼び出されます. summarizeメソッドの呼び出しが終了すると,FINISHEDステージに移行します.

この処理器には5つのステージが存在しますが,それぞれのステージで呼び出せるメソッドは限定されています. 呼び出し可能か否かを表したのが以下の表です.

縦の列がステージを表しており,横の行が各メソッドを表しています. ○のセルがあるのは,その行にあるメソッドがその列のステージのときに呼び出せることを表しています. ×のセルの場合は,IllegalStateException が投げられます.

UNINITIALIZED INITIALIZED PROCESSING PROCESSED FINISHED
情報取得 getProcessorName
getProvider
getCurrentStage
getId
getArguments × × × ×
getSummary ×
情報設定 setId × × × ×
putEntry × ×
処理メソッド init × × × ×
execute × × × ×
finish × × × ×
オーバーライド prepare × × × ×
perform × × × ×
summarize × × × ×

作成者:
Haruaki Tamada

コンストラクタの概要
protected AbstractProcessor(ProcessorService provider)
          指定されたサービスプロバイダをもとに処理器オブジェクトを作成します.
 
メソッドの概要
 void execute(TargetSource source, Destination dest)
           処理を行うためのメソッドです.
 void finish()
           終了処理を行います.
 Arguments getArguments()
           処理器の設定項目を返します.
 Stage getCurrentStage()
          現在のステージを返します.
 String getId()
           設定されたIdを返します.
 String getProcessorName()
          この処理器の名前を返します.
 ProcessorService getProvider()
          サービスプロバイダを返します.
 Summary getSummary()
           この処理器のサマリを返します.
 void init()
           初期設定を行います.
protected abstract  void perform(TargetSource source, Destination dest)
          サブクラスでこのメソッドをオーバーライドして実際の処理を実装してください.
protected abstract  void prepare(Arguments args)
           ユーザ定義の初期設定を行うメソッドです.引数に与えられたArguments に従って処理を行うよう処理器を設定しなければいけません.
protected  void putEntry(Arguments args)
           Summaryに出力するためのエントリを追加します.
protected  void putEntry(String key, String value)
           Summaryに出力するためのエントリを追加します.
 void setId(String id)
           Idを設定します.
protected abstract  void summarize()
          ユーザ定義の終了処理を行うメソッドです.この処理器で使用したリソースを適切に開放しなければいけません.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractProcessor

protected AbstractProcessor(ProcessorService provider)
指定されたサービスプロバイダをもとに処理器オブジェクトを作成します.

パラメータ:
provider - サービスプロバイダ
メソッドの詳細

getProcessorName

public final String getProcessorName()
この処理器の名前を返します.

定義:
インタフェース Processor 内の getProcessorName
関連項目:
ProcessorService.getProcessorName()

getCurrentStage

public final Stage getCurrentStage()
現在のステージを返します.

戻り値:
現在のステージ.

setId

public final void setId(String id)

Idを設定します.

Idは1セッションの間に,処理器を互いに区別するための文字列です.

このメソッドはステージがUNINITIALIZEDの時だけ呼び出せます. ステージがUNINITIALIZED以外のときには,IllegalStateException が投げられます.

定義:
インタフェース Processor 内の setId
例外:
IllegalStateException - 状態がUNINITIALIZED以外のときに,このメソッドが呼び出された場合.
関連項目:
Processor.getId()

getId

public final String getId()

設定されたIdを返します. Idが設定されていない場合(setId が一度も呼び出されていない場合)はnullを返します.

このメソッドは例外を投げません.

定義:
インタフェース Processor 内の getId

init

public final void init()
                throws ProcessorException

初期設定を行います. ユーザ独自の初期設定を行う場合は prepare メソッドをオーバーライドしてください. このメソッドはfinal宣言されていますので,オーバーライドできません.

このメソッド呼び出し前はUNINITIALIZEDであり, 呼び出し後は INITIALIZEDになります. そうでない場合は,IllegalStateExceptionが投げられます.

定義:
インタフェース Processor 内の init
例外:
IllegalStateException - 適切な状態でないときにこのメソッドが呼び出された場合.
ProcessorException

prepare

protected abstract void prepare(Arguments args)
                         throws ProcessorException

ユーザ定義の初期設定を行うメソッドです.引数に与えられたArguments に従って処理を行うよう処理器を設定しなければいけません.

初期設定時に例外が起こった場合は,ProcessorExceptionを投げるよう実装してください. なお,このメソッドが呼び出される直前にステージはINITIALIZEDに変更されています.

パラメータ:
args - 処理器に与えるパラメータ.
例外:
ProcessorException

execute

public void execute(TargetSource source,
                    Destination dest)
             throws ProcessorException

処理を行うためのメソッドです.

具体的な処理内容はperformメソッドを オーバーライドしてください.

定義:
インタフェース Processor 内の execute
例外:
IllegalStateException - 適切な状態でないときにこのメソッドが呼び出された場合.
ProcessorException

perform

protected abstract void perform(TargetSource source,
                                Destination dest)
                         throws ProcessorException
サブクラスでこのメソッドをオーバーライドして実際の処理を実装してください.

例外:
ProcessorException

summarize

protected abstract void summarize()
                           throws ProcessorException
ユーザ定義の終了処理を行うメソッドです.この処理器で使用したリソースを適切に開放しなければいけません. 終了処理時に例外が起こった場合は,ProcessorExceptionを投げるよう実装してください.

例外:
ProcessorException

finish

public void finish()
            throws ProcessorException

終了処理を行います.

ユーザ独自の終了処理を行う場合は summarize メソッドをオーバーライドしてください.

このメソッドはfinal宣言されていますので,オーバーライドできません.

定義:
インタフェース Processor 内の finish
例外:
ProcessorException

getProvider

public ProcessorService getProvider()
サービスプロバイダを返します. コンストラクタに与えられたサービスプロバイダをそのまま返します.

定義:
インタフェース Processor 内の getProvider

getArguments

public Arguments getArguments()

処理器の設定項目を返します. ステージがUNINITIALIZEDの場合は, このメソッドで返されたオブジェクトの値を変更して, この処理器の設定を変えられます.

ステージがUNINITIALIZEDでない場合は,IllegalStateExceptionが投げられます.

定義:
インタフェース Processor 内の getArguments

getSummary

public Summary getSummary()

この処理器のサマリを返します. サマリとは処理内容を提示するためのオブジェクトです.

サマリに情報を追加するにはputEntry メソッドを使います.このメソッドに渡された項目がサマリオブジェクトに追加されます.

ステージがUNINITIALIZEDの場合は,IllegalStateExceptionが投げられます.

定義:
インタフェース Processor 内の getSummary
関連項目:
Summary

putEntry

protected void putEntry(Arguments args)

Summaryに出力するためのエントリを追加します.

引数に与えられたArgumentsにある全ての ArgumentSummary に追加されます.Argumentのnameがkeyに割り当てられます. ただし,Argumentのvalueがnullの場合は追加されず,無視されます.

現在の状態がFINISHEDのとき,もしくは,UNINITIALIZEDのときに, このメソッドが呼び出された場合,IllegalStateException が投げられます.

パラメータ:
args -
例外:
IllegalStateException - 現在の状態がFINISHEDもしくはUNINITIALIZEDのとき.
関連項目:
Summary

putEntry

protected void putEntry(String key,
                        String value)

Summaryに出力するためのエントリを追加します.

現在の状態がFINISHEDのとき,もしくは,UNINITIALIZEDのときに, このメソッドが呼び出された場合,IllegalStateException が投げられます.

パラメータ:
key - エントリのキー
value - エントリのキーに対応する値
例外:
IllegalStateException - 現在の状態がFINISHEDもしくはUNINITIALIZEDのとき.
関連項目:
Summary


Copyright © 2010-2011 Rydeen Project. All Rights Reserved.