org.seasar.extension.dxo.converter.impl
クラス BeanConverter

java.lang.Object
  拡張org.seasar.extension.dxo.converter.impl.AbstractConverter
      拡張org.seasar.extension.dxo.converter.impl.BeanConverter
すべての実装インタフェース:
Converter

public class BeanConverter
extends AbstractConverter

JavaBeansからJavaBeansへの変換を行うコンバータです。

作成者:
Satoshi Kimura, koichik

フィールドの概要
protected static Object PROPERTY_NOT_FOUND
          変換元にプロパティが存在しないことを示すオブジェクトです。
 
コンストラクタの概要
BeanConverter()
           
 
メソッドの概要
 Object convert(Object source, Class destClass, ConversionContext context)
          sourcedestClassに変換したオブジェクトを返します。
 void convert(Object source, Object dest, ConversionContext context)
          sourcedestに変換します。
protected  Converter getConverter(Class sourcePropertyClass, Class destClass, String destPropertyName, Class destPropertyClass, ConversionContext context)
          コンバータを取得して返します。
protected  Object getDateValue(org.seasar.framework.beans.BeanDesc sourceBeanDesc, Object source, String destPropertyName, Class destPropertyType, ConversionContext context)
          変換元オブジェクトから日時プロパティの値を取得して返します。
protected  Date getDateValueAsDate(Class sourceClass, Object source, String destPropertyName, ConversionContext context)
          変換元オブジェクトから日時プロパティの値をDateとして取得し、返します。
protected  String getDateValueAsString(org.seasar.framework.beans.BeanDesc sourceBeanDesc, Object source, String destPropertyName)
          変換元オブジェクトから日時プロパティの値を文字列として取得し、返します。
 Class getDestClass()
          このコンバータがサポートしている変換先のクラスを返します。
 Class[] getSourceClasses()
          このコンバータがサポートしている変換元のクラスを配列で返します。
protected  Object getSourceValue(org.seasar.framework.beans.BeanDesc sourceBeanDesc, Object source, String propertyName, ConversionContext context)
          変換元オブジェクトからプロパティの値を取得して返します。
protected  Object resolveNestedProperty(org.seasar.framework.beans.BeanDesc sourceBeanDesc, Object source, String propertyName, ConversionContext context)
          変換元オブジェクトからネストしたプロパティの値を取得して返します。
protected  void setValue(org.seasar.framework.beans.BeanDesc sourceBeanDesc, Object source, org.seasar.framework.beans.BeanDesc destBeanDesc, Object dest, org.seasar.framework.beans.PropertyDesc destPropertyDesc, ConversionContext context)
          destPropertyDescで示される変換先オブジェクトのプロパティに値を設定します。
protected  void setValues(Object source, Object dest, ConversionContext context)
          変換先オブジェクトのプロパティに値を設定します。
 
クラス org.seasar.extension.dxo.converter.impl.AbstractConverter から継承したメソッド
getEnumName, getEnumOrdinal, isEnum
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

PROPERTY_NOT_FOUND

protected static final Object PROPERTY_NOT_FOUND
変換元にプロパティが存在しないことを示すオブジェクトです。

コンストラクタの詳細

BeanConverter

public BeanConverter()
メソッドの詳細

getSourceClasses

public Class[] getSourceClasses()
インタフェース Converter の記述:
このコンバータがサポートしている変換元のクラスを配列で返します。

最低でも1以上の長さを持つ配列を返します。

戻り値:
このコンバータがサポートしている変換元のクラスの配列

getDestClass

public Class getDestClass()
インタフェース Converter の記述:
このコンバータがサポートしている変換先のクラスを返します。

戻り値:
このコンバータがサポートしている変換先のクラス

convert

public Object convert(Object source,
                      Class destClass,
                      ConversionContext context)
インタフェース Converter の記述:
sourcedestClassに変換したオブジェクトを返します。

パラメータ:
source - 変換元のオブジェクト
destClass - 変換先のクラス
context - 変換コンテキスト
戻り値:
変換先のオブジェクト。これはdestClassのインスタンスです。

convert

public void convert(Object source,
                    Object dest,
                    ConversionContext context)
インタフェース Converter の記述:
sourcedestに変換します。

このメソッドはJavaBeansや配列,Listなど、 可変なオブジェクトへの変換を行うコンバータでサポートされます。 不変なオブジェクトへの変換を行うコンバータはこのメソッドを実装できないため、 このメソッドが呼び出されるとUnsupportedOperationExceptionがスローされます。

定義:
インタフェース Converter 内の convert
オーバーライド:
クラス AbstractConverter 内の convert

setValues

protected void setValues(Object source,
                         Object dest,
                         ConversionContext context)
変換先オブジェクトのプロパティに値を設定します。

パラメータ:
source - 変換元オブジェクト
dest - 変換先オブジェクト
context - 変換コンテキスト

setValue

protected void setValue(org.seasar.framework.beans.BeanDesc sourceBeanDesc,
                        Object source,
                        org.seasar.framework.beans.BeanDesc destBeanDesc,
                        Object dest,
                        org.seasar.framework.beans.PropertyDesc destPropertyDesc,
                        ConversionContext context)
destPropertyDescで示される変換先オブジェクトのプロパティに値を設定します。

パラメータ:
sourceBeanDesc - 変換元のBean記述子
source - 変換元のオブジェクト
destBeanDesc - 変換先のBean記述子
dest - 変換先のオブジェクト
destPropertyDesc - 変換先のプロパティ記述子
context - 変換コンテキスト

getSourceValue

protected Object getSourceValue(org.seasar.framework.beans.BeanDesc sourceBeanDesc,
                                Object source,
                                String propertyName,
                                ConversionContext context)
変換元オブジェクトからプロパティの値を取得して返します。

変換元オブジェクトに該当するプロパティが存在しない場合はPROPERTY_NOT_FOUNDを返します。

パラメータ:
sourceBeanDesc - 変換元のBean記述子
source - 変換元のオブジェクト
propertyName - 変換対象のプロパティ名
context - 変換コンテキスト
戻り値:
変換元オブジェクトのプロパティの値

resolveNestedProperty

protected Object resolveNestedProperty(org.seasar.framework.beans.BeanDesc sourceBeanDesc,
                                       Object source,
                                       String propertyName,
                                       ConversionContext context)
変換元オブジェクトからネストしたプロパティの値を取得して返します。

変換元オブジェクトに該当するプロパティが存在しない場合はPROPERTY_NOT_FOUNDを返します。

パラメータ:
sourceBeanDesc - 変換元のBean記述子
source - 変換元のオブジェクト
propertyName - 変換対象のプロパティ名
context - 変換コンテキスト
戻り値:
ネストしたプロパティの値

getDateValue

protected Object getDateValue(org.seasar.framework.beans.BeanDesc sourceBeanDesc,
                              Object source,
                              String destPropertyName,
                              Class destPropertyType,
                              ConversionContext context)
変換元オブジェクトから日時プロパティの値を取得して返します。

変換元オブジェクトに該当するプロパティが存在しない場合はnullを返します。

パラメータ:
sourceBeanDesc - 変換元のBean記述子
source - 変換元のオブジェクト
destPropertyName - 変換先のプロパティ名
destPropertyType - 変換先のプロパティ型
context - 変換コンテキスト
戻り値:
日時プロパティの値

getDateValueAsString

protected String getDateValueAsString(org.seasar.framework.beans.BeanDesc sourceBeanDesc,
                                      Object source,
                                      String destPropertyName)
変換元オブジェクトから日時プロパティの値を文字列として取得し、返します。

変換元オブジェクトに該当するプロパティが存在しない場合はnullを返します。

パラメータ:
sourceBeanDesc - 変換元のBean記述子
source - 変換元のオブジェクト
destPropertyName - 変換先のプロパティ名
戻り値:
日時プロパティの値

getDateValueAsDate

protected Date getDateValueAsDate(Class sourceClass,
                                  Object source,
                                  String destPropertyName,
                                  ConversionContext context)
変換元オブジェクトから日時プロパティの値をDateとして取得し、返します。

変換元オブジェクトに該当するプロパティが存在しない場合はnullを返します。

パラメータ:
sourceClass - 変換元のクラス
source - 変換元のオブジェクト
destPropertyName - 変換先のプロパティ名
context - 変換コンテキスト
戻り値:
日時プロパティの値

getConverter

protected Converter getConverter(Class sourcePropertyClass,
                                 Class destClass,
                                 String destPropertyName,
                                 Class destPropertyClass,
                                 ConversionContext context)
コンバータを取得して返します。

パラメータ:
sourcePropertyClass - 変換元プロパティの型
destClass - 変換先のクラス
destPropertyName - 変換先のプロパティ名
destPropertyClass - 変換先のプロパティ型
context - 変換コンテキスト
戻り値:
コンバータ


Copyright © 2004-2007 The Seasar Foundation. All Rights Reserved.