jp.liq.container
クラス AbstractModule

java.lang.Object
  上位を拡張 jp.liq.container.AbstractModule
すべての実装されたインタフェース:
Module

public abstract class AbstractModule
extends java.lang.Object
implements Module

コンポーネントを1つ1つ登録していくタイプの Module の基底クラスです。 このクラスのサブクラスは抽象メソッドmoduleDef()の実装の中で、 register メソッドによって、その Module が保持するコンポーネントを一つ一つ登録していきます。

作成者:
nose

コンストラクタの概要
protected AbstractModule()
          moduleDef() で定義されたコンポーネントの定義情報が、 getComponentMetadata(Class) で取得できるようにこのクラスの インスタンスを構築します。
 
メソッドの概要
 ComponentMetadata getComponentMetadata(java.lang.Class<?> type)
          引数で指定された型に対応する、コンポーネントの定義情報を返します。
 boolean hasType(java.lang.Class<?> type)
          引数で指定された型のコンポーネントの定義情報をこの Module が保持しているかどうかを返します。
protected abstract  void moduleDef()
          このメソッドの実装の中で、register メソッドによって コンポーネントを定義します。
protected  void register(java.lang.Class<?>... impls)
          引数で指定されたクラスの配列をコンポーネントとして登録します。
protected
<T> ConstructorComponent<T>
register(java.lang.Class<T> type)
          引数で指定されたクラスをコンポーネントとして登録します。
protected  void register(java.util.List<Component<?>> comp)
          引数で指定されたコンポーネントのリストを登録します。
protected
<T,U extends Component<T>>
U
register(U c)
          引数で指定されたコンポーネントを登録します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractModule

protected AbstractModule()
                  throws DuplicateRegistrationException
moduleDef() で定義されたコンポーネントの定義情報が、 getComponentMetadata(Class) で取得できるようにこのクラスの インスタンスを構築します。

例外:
DuplicateRegistrationException - 同じロールのコンポーネントが重複して登録された
メソッドの詳細

register

protected <T,U extends Component<T>> U register(U c)
引数で指定されたコンポーネントを登録します。 このメソッドは moduleDef() の中で呼ばれることを前提にしています。 引数に渡す Component のインスタンスを生成するには、 Components を使用すると便利です。

パラメータ:
c - 登録するコンポーネント
戻り値:
引数と同じオブジェクト
関連項目:
Components

moduleDef

protected abstract void moduleDef()
このメソッドの実装の中で、register メソッドによって コンポーネントを定義します。


hasType

public final boolean hasType(java.lang.Class<?> type)
インタフェース Module の記述:
引数で指定された型のコンポーネントの定義情報をこの Module が保持しているかどうかを返します。

定義:
インタフェース Module 内の hasType
パラメータ:
type - コンポーネントの型
戻り値:
コンポーネントの定義情報をこの Module が保持しているなら true
関連項目:
Module.hasType(java.lang.Class)

getComponentMetadata

public final ComponentMetadata getComponentMetadata(java.lang.Class<?> type)
インタフェース Module の記述:
引数で指定された型に対応する、コンポーネントの定義情報を返します。 引数 type で指定されたクラスに対してModule.hasType(Class)がtrueを返すとき、 このメソッドはnullを返してはなりません。

定義:
インタフェース Module 内の getComponentMetadata
パラメータ:
type - GETしたいコンポーネントの型
戻り値:
コンポーネント定義情報
関連項目:
Module.getComponentMetadata(java.lang.Class)

register

protected final void register(java.util.List<Component<?>> comp)
引数で指定されたコンポーネントのリストを登録します。 このメソッドは、単に引数の Component のリストの各要素に対し、 register(Component) を呼出します。 このメソッドは moduleDef() の中で呼ばれることを前提にしています。

パラメータ:
comp -

register

protected final void register(java.lang.Class<?>... impls)
引数で指定されたクラスの配列をコンポーネントとして登録します。 このメソッドは引数で指定された個々のクラスに対し、 register(Class) を適用します。

パラメータ:
impls - コンポーネントとして登録するクラスの配列

register

protected final <T> ConstructorComponent<T> register(java.lang.Class<T> type)
引数で指定されたクラスをコンポーネントとして登録します。 このメソッドは、以下のコードのショートカットです。
 register(Components.createdBy(constructor(type)))
 

パラメータ:
type -
戻り値:
登録される InejctableComponentのインスタンス。
関連項目:
Components.createdBy(jp.liq.container.util.ConstructorWrapper), Reflector.constructor(Class);


Copyright © 2007 NTT DATA INTELLILINK CORPORATION. All Rights Reserved.