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

フィールドの概要
protected static String COMPARATOR
          ViewerComparator の S2Container 上でのコンポーネント名称サフィックス
protected static String CONTENT_PROVIDER
          IContentProvider の S2Container 上でのコンポーネント名称サフィックス
protected static String LABEL_PROVIDER
          ILabelProvider の S2Container 上でのコンポーネント名称サフィックス
 
コンストラクタの概要
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(VIEWER_TYPE viewer)
          デフォルトの ViewerComparator を返します。
protected  IContentProvider getDefaultContentProvider()
          デフォルトの IContentProvider を返します。
protected  IBaseLabelProvider getDefaultLabelProvider()
          デフォルトの IBaseLabelProvider を返します。
protected  Class<? extends IBaseLabelProvider> getLabelProviderClass()
          ラベルプロバイダとして使用すべきクラスを返します。
protected abstract  Class<VIEWER_TYPE> getViewerType()
          生成するビューアの型を返します。
 WidgetHandle render(UIComponent uiComponent, WidgetHandle parent, PartContext context)
          レンダリングを行います。
 void renderAfter(WidgetHandle handle, UIComponent uiComponent, WidgetHandle parent, PartContext context)
          子のレンダリングが終わった後に呼び出されるメソッドです。
protected  void setupComparator(StructuredViewer viewer, String id)
          viewer に対して ViewerComparator を設定します。
protected  void setupContentProvider(ContentViewer viewer, String id)
          viewer に対して IContentProvider を設定します。
protected  void setupLabelProvider(StructuredViewer viewer, String id)
          viewer に対して ILabelProvider を設定します。
 
クラス 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, renderWidget
 
クラス org.seasar.uruma.renderer.impl.AbstractRenderer から継承されたメソッド
createWidgetHandle, getContext, getDefaultStyle, getStyle, preRender, setContext, setupEnablesDependingDef
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

LABEL_PROVIDER

protected static final String LABEL_PROVIDER
ILabelProvider の S2Container 上でのコンポーネント名称サフィックス

関連項目:
定数フィールド値

CONTENT_PROVIDER

protected static final String CONTENT_PROVIDER
IContentProvider の S2Container 上でのコンポーネント名称サフィックス

関連項目:
定数フィールド値

COMPARATOR

protected static final String COMPARATOR
ViewerComparator の S2Container 上でのコンポーネント名称サフィックス

関連項目:
定数フィールド値
コンストラクタの詳細

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 オブジェクト

setupContentProvider

protected void setupContentProvider(ContentViewer viewer,
                                    String id)
viewer に対して IContentProvider を設定します。

本メソッドでは以下の動作を行います。

  1. S2Container 上に、<コンポーネントのID>ContentProvider という名称で S2 コンポーネントが登録されているか確認する。
  2. 登録されていれば、その S2 コンポーネントが IContentProvider の実装クラスであるかどうかを確認する。
  3. サブクラスであれば、その S2 コンポーネントをコンテントプロバイダとして viewer へ設定する。
  4. S2 コンポーネントが見つからない場合、 getDefaultContentProvider() メソッドの返すオブジェクトをコンテントプロバイダとして viewer へ設定する。

パラメータ:
viewer - 設定対象のビューア
id - ビューアのコンポーネントID
例外:
RenderException - 該当する名称の S2 コンポーネントが IContentProvider の実装クラスでない場合
関連項目:
ContentViewer.setContentProvider(IContentProvider)

setupLabelProvider

protected void setupLabelProvider(StructuredViewer viewer,
                                  String id)
viewer に対して ILabelProvider を設定します。

本メソッドでは以下の動作を行います。

  1. S2Container 上に、<コンポーネントのID>LabelProvider という名称で S2 コンポーネントが登録されているか確認する。
  2. 登録されていれば、その S2 コンポーネントが getLabelProviderClass() メソッドの返すクラスのサブクラスであるかどうかを確認する。
  3. サブクラスであれば、その S2 コンポーネントをラベルプロバイダとして viewer へ設定する。
  4. S2 コンポーネントが見つからない場合、 getDefaultLabelProvider() メソッドの返すオブジェクトをラベルプロバイダとして viewer へ設定する。

パラメータ:
viewer - 設定対象のビューア
id - ビューアのコンポーネントID
例外:
RenderException - 該当する名称の S2 コンポーネントが getLabelProviderClass() メソッドの返すクラスのサブクラスでない場合
関連項目:
StructuredViewer.setLabelProvider(IBaseLabelProvider)

setupComparator

protected void setupComparator(StructuredViewer viewer,
                               String id)
viewer に対して ViewerComparator を設定します。

本メソッドでは以下の動作を行います。

  1. S2Container 上に、<コンポーネントのID>Comparator という名称で S2 コンポーネントが登録されているか確認する。
  2. 登録されていれば、その S2 コンポーネントが ViewerComparator のサブクラスであるかどうかを確認する。
  3. サブクラスであれば、その S2 コンポーネントをソータとして viewer へ設定する。
  4. S2 コンポーネントが見つからない場合、 getDefaultComparator() メソッドの返すオブジェクトをコンパレータとして viewer へ設定する。

パラメータ:
viewer - 設定対象のビューア
id - ビューアのコンポーネントID
例外:
RenderException - 該当する名称の S2 コンポーネントが ViewerComparator のサブクラスでない場合
関連項目:
StructuredViewer.setComparator(ViewerComparator)

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 オブジェクトを返します。
ラベルプロバイダのクラスをさらに絞りたい場合、本メソッドをオーバーライドしてください。

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

getDefaultComparator

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

パラメータ:
viewer - レンダリング対象の Viewer
戻り値:
デフォルトの 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-2007 The Seasar Foundation. All Rights Reserved.