org.seasar.uruma.renderer.impl
クラス AbstractViewerRenderer<COMPONENT_TYPE extends CompositeComponent,VIEWER_TYPE extends Viewer,CONTROL_TYPE extends Control>

java.lang.Object
  上位を拡張 org.seasar.uruma.renderer.impl.AbstractRenderer
      上位を拡張 org.seasar.uruma.renderer.impl.AbstractWidgetRenderer<COMPONENT_TYPE,CONTROL_TYPE>
          上位を拡張 org.seasar.uruma.renderer.impl.AbstractControlRenderer<COMPONENT_TYPE,CONTROL_TYPE>
              上位を拡張 org.seasar.uruma.renderer.impl.AbstractViewerRenderer<COMPONENT_TYPE,VIEWER_TYPE,CONTROL_TYPE>
型パラメータ:
COMPONENT_TYPE - レンダラに対応するコンポーネントの実際の型
VIEWER_TYPE - レンダラが生成するビューアの実際の型
CONTROL_TYPE - ビューアが内包する Control オブジェクトの実際の型
すべての実装されたインタフェース:
Renderer
直系の既知のサブクラス:
ComboViewerRenderer, TableViewerRenderer, TreeViewerRenderer

public abstract class AbstractViewerRenderer<COMPONENT_TYPE extends CompositeComponent,VIEWER_TYPE extends Viewer,CONTROL_TYPE extends Control>
extends AbstractControlRenderer<COMPONENT_TYPE,CONTROL_TYPE>

Viewer のレンダリングを行うための基底クラスです。

作成者:
y-komori

コンストラクタの概要
AbstractViewerRenderer()
           
 
メソッドの概要
protected  boolean canCreateViewer(UICompositeComponent component)
          ビューアを生成するかどうかを判定します。
protected  VIEWER_TYPE createViewer(Composite parent, int style)
          ビューアを生成します。
protected  void doRenderAfter(VIEWER_TYPE viewer, COMPONENT_TYPE uiComponent, WidgetHandle parent, PartContext context)
          子のレンダリング終了後にレンダリング処理を行います。
protected  void doRenderControl(COMPONENT_TYPE controlComponent, CONTROL_TYPE control)
          生成したコントロールに対するレンダリングを行います。
protected  void doRenderViewer(COMPONENT_TYPE uiComponent, VIEWER_TYPE viewer)
          生成されたビューアに対して各種属性を設定します。
protected  ViewerComparator getDefaultComparator()
          デフォルトの ViewerComparator を返します。
protected  IContentProvider getDefaultContentProvider()
          デフォルトの IContentProvider を返します。
protected  IBaseLabelProvider getDefaultLabelProvider()
          デフォルトの IBaseLabelProvider を返します。
protected  Class<? extends IBaseLabelProvider> getLabelProviderClass()
          ラベルプロバイダとして使用すべきクラスを返します。
protected  Class<? extends PojoLabelProvider> getPojoLabelProviderClass()
          POJO をラベルプロバイダとして利用する場合のアダプタクラスを返します。
protected abstract  Class<VIEWER_TYPE> getViewerType()
          生成するビューアの型を返します。
 WidgetHandle render(UIComponent uiComponent, WidgetHandle parent, PartContext context)
          レンダリングを行います。
 void renderAfter(WidgetHandle handle, UIComponent uiComponent, WidgetHandle parent, PartContext context)
          子のレンダリングが終わった後に呼び出されるメソッドです。
 
クラス org.seasar.uruma.renderer.impl.AbstractControlRenderer から継承されたメソッド
doRender, getParentComponent, getParentLayoutDataInfo, inherit, inheritLayoutData, setCommonAttributes, setFont, setLayoutData, setLocation, setMenu, setSize
 
クラス org.seasar.uruma.renderer.impl.AbstractWidgetRenderer から継承されたメソッド
createWidget, doRenderAfter, getWidgetType, peekRenderingContext, popRenderingContext, pushRenderingContext, renderWidget, reRender
 
クラス org.seasar.uruma.renderer.impl.AbstractRenderer から継承されたメソッド
createWidgetHandle, getContext, getDefaultStyle, getStyle, getWindowContext, preRender, setContext, setupEnablesDependingDef, setWindowContext
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractViewerRenderer

public AbstractViewerRenderer()
メソッドの詳細

render

public WidgetHandle render(UIComponent uiComponent,
                           WidgetHandle parent,
                           PartContext context)
インタフェース Renderer の記述:
レンダリングを行います。

定義:
インタフェース Renderer 内の render
オーバーライド:
クラス AbstractWidgetRenderer<COMPONENT_TYPE extends CompositeComponent,CONTROL_TYPE extends Control> 内の render
パラメータ:
uiComponent - レンダリング対象の情報を持つ UIComponent オブジェクト
parent - 親となる WidgetHandle オブジェクト
context - 画面情報を収めた PartContext オブジェクト
戻り値:
レンダリングしたウィジットのハンドル

renderAfter

public void renderAfter(WidgetHandle handle,
                        UIComponent uiComponent,
                        WidgetHandle parent,
                        PartContext context)
インタフェース Renderer の記述:
子のレンダリングが終わった後に呼び出されるメソッドです。

定義:
インタフェース Renderer 内の renderAfter
オーバーライド:
クラス AbstractWidgetRenderer<COMPONENT_TYPE extends CompositeComponent,CONTROL_TYPE extends Control> 内の renderAfter
パラメータ:
handle - render() メソッドでレンダリングされた WidgetHandle オブジェクト
uiComponent - レンダリング対象の情報を持つ UIComponent オブジェクト
parent - 親となる WidgetHandle オブジェクト
context - 画面情報を収めた PartContext オブジェクト

doRenderControl

protected void doRenderControl(COMPONENT_TYPE controlComponent,
                               CONTROL_TYPE control)
クラス AbstractControlRenderer の記述:
生成したコントロールに対するレンダリングを行います。
コントロールに対する独自のレンダリング処理を追加したい場合、サブクラスでオーバーライドしてください。

定義:
クラス AbstractControlRenderer<COMPONENT_TYPE extends CompositeComponent,CONTROL_TYPE extends Control> 内の doRenderControl
パラメータ:
controlComponent - UIComponent オブジェクト
control - 生成した Control オブジェクト

createViewer

protected VIEWER_TYPE createViewer(Composite parent,
                                   int style)
ビューアを生成します。
ビューアの生成を独自に行いたい場合、サブクラスで本メソッドをオーバーライドしてください。

パラメータ:
parent - 親 Composite
style - スタイル
戻り値:
生成したビューアのインタンス

getDefaultContentProvider

protected IContentProvider getDefaultContentProvider()
デフォルトの IContentProvider を返します。
ユーザ指定の IContentProvider が S2Container 上に登録されていない場合に使用する、デフォルトのコンテントプロバイダを返します。
デフォルトでは、 GenericContentProvider を返します。
デフォルトのコンテントプロバイダを変更したい場合、本メソッドをオーバーライドしてください。

戻り値:
デフォルトの IContentProvider

getDefaultLabelProvider

protected IBaseLabelProvider getDefaultLabelProvider()
デフォルトの IBaseLabelProvider を返します。
ユーザ指定の IBaseLabelProvider が S2Container 上に登録されていない場合に使用する、デフォルトのラベルプロバイダを返します。
デフォルトでは、 null (ラベルプロバイダを使用しない) を返します。
デフォルトのラベルプロバイダを変更したい場合、本メソッドをオーバーライドしてください。

戻り値:
デフォルトの IBaseLabelProvider

getLabelProviderClass

protected Class<? extends IBaseLabelProvider> getLabelProviderClass()
ラベルプロバイダとして使用すべきクラスを返します。
S2Container 上でラベルプロバイダを検索する際、本メソッドの戻り値で示される型のインスタンスであるかどうかをチェックします。
デフォルトでは、 IBaseLabelProviderClass オブジェクトを返します。
ラベルプロバイダのクラスをさらに絞りたい場合、本メソッドをオーバーライドしてください。

戻り値:
ラベルプロバイダとして使用すべきクラス

getPojoLabelProviderClass

protected Class<? extends PojoLabelProvider> getPojoLabelProviderClass()
POJO をラベルプロバイダとして利用する場合のアダプタクラスを返します。
デフォルトでは null を返しますので、必要に応じてサブクラスでオーバーライドして、適切なクラスオブジェクトを返してください。

戻り値:
PojoLabelProvider のクラス

getDefaultComparator

protected ViewerComparator getDefaultComparator()
デフォルトの ViewerComparator を返します。
ユーザ指定の ViewerComparator が S2Container 上に登録されていない場合に使用する、デフォルトのソータを返します。
デフォルトのコンパレータを変更したい場合、本メソッドをオーバーライドしてください。
デフォルトでは null (ソートしない) を返します。

戻り値:
デフォルトの ViewerComparator}

getViewerType

protected abstract Class<VIEWER_TYPE> getViewerType()
生成するビューアの型を返します。
ビューアのインスタンス生成は本クラスで実施するので、サブクラスで本メソッドを実装してビューアの型のみを返してください。

戻り値:
生成するビューアの型

canCreateViewer

protected boolean canCreateViewer(UICompositeComponent component)
ビューアを生成するかどうかを判定します。
ビューアの生成を制御したい場合、サブクラスでオーバーライドしてください。
デフォルトでは true を返します。

パラメータ:
component - 対応する UICompositeComponent
戻り値:
生成する場合は true。しない場合は false

doRenderViewer

protected void doRenderViewer(COMPONENT_TYPE uiComponent,
                              VIEWER_TYPE viewer)
生成されたビューアに対して各種属性を設定します。
必要な場合は本メソッドをオーバーライドして、uiComponent の保持する属性を viewer に対して設定してください。
デフォルトの実装では何も行いません。

パラメータ:
uiComponent - UIComponent オブジェクト
viewer - 生成されたビューア

doRenderAfter

protected void doRenderAfter(VIEWER_TYPE viewer,
                             COMPONENT_TYPE uiComponent,
                             WidgetHandle parent,
                             PartContext context)
子のレンダリング終了後にレンダリング処理を行います。
子のレンダリング終了後にレンダリング処理を行う場合、本メソッドをオーバーライドしてレンダリング処理を実装してください。
デフォルトでは何も行いません。

パラメータ:
viewer - レンダリング対象ビューア
uiComponent - レンダリング対象の UIComponent オブジェクト
parent - 親のウィジットハンドル
context - PartContext オブジェクト


Copyright © 2006-2008 The Seasar Foundation. All Rights Reserved.