org.seasar.util.beans.util
クラス CopyOptions

java.lang.Object
  上位を拡張 org.seasar.util.beans.util.CopyOptions

public class CopyOptions
extends Object

BeanUtilでJavaBeansやMapをコピーする際に指定するオプションです。

作成者:
higa

フィールドの概要
protected  char beanDelimiter
          JavaBeanのデリミタです。
protected  Map<String,Converter> converterMap
          特定のプロパティに関連付けられたコンバータです。
protected  List<Converter> converters
          特定のプロパティに関連付けられていないコンバータです。
protected static Converter DEFAULT_DATE_CONVERTER
          日付用のデフォルトコンバータです。
protected static Converter DEFAULT_TIME_CONVERTER
          時間用のデフォルトコンバータです。
protected static Converter DEFAULT_TIMESTAMP_CONVERTER
          日時用のデフォルトコンバータです。
protected  List<String> excludePropertyNames
          操作の対象に含めないプロパティ名の配列です。
protected  boolean excludesNull
          null値のプロパティを操作の対象外にするかどうかです。
protected  boolean excludesWhitespace
          空白のみの文字列を操作の対象外にするかどうかです。
protected  List<String> includePropertyNames
          操作の対象に含めるプロパティ名の配列です。
protected  char mapDelimiter
          Mapのデリミタです。
protected  String prefix
          プレフィックスです。
 
コンストラクタの概要
CopyOptions()
           
 
メソッドの概要
 CopyOptions beanDelimiter(char beanDelimiter)
          JavaBeansのデリミタを設定します。
 CopyOptions converter(Converter converter, CharSequence... propertyNames)
          コンバータを設定します。
protected  Object convertValue(Object value, String destPropertyName, Class<?> destPropertyClass)
          値を変換します。
 CopyOptions dateConverter(String pattern, CharSequence... propertyNames)
          日付のコンバータを設定します。
 CopyOptions exclude(CharSequence... propertyNames)
          操作の対象に含めないプロパティ名を追加します。
 CopyOptions excludeNull()
          null値のプロパティを操作の対象外にします。
 CopyOptions excludeWhitespace()
          空白のプロパティを操作の対象外にします。
protected  Converter findConverter(Class<?> clazz)
          クラスに対応するコンバータを探します。
protected  Converter findDefaultConverter(Class<?> clazz)
          クラスに対応するデフォルトのコンバータを探します。
 CopyOptions include(CharSequence... propertyNames)
          操作の対象に含めるプロパティ名を追加します。
protected  boolean isTargetProperty(String name)
          対象のプロパティかどうかを返します。
protected  boolean isTargetValue(Object value)
          値がコピーの対象ならtrueを返します。
 CopyOptions mapDelimiter(char mapDelimiter)
          Mapのデリミタを設定します。
 CopyOptions numberConverter(String pattern, CharSequence... propertyNames)
          数値のコンバータを設定します。
 CopyOptions prefix(CharSequence prefix)
          プレフィックスを指定します。
 CopyOptions sqlDateConverter(String pattern, CharSequence... propertyNames)
          SQL用日付のコンバータを設定します。
 CopyOptions timeConverter(String pattern, CharSequence... propertyNames)
          時間のコンバータを設定します。
 CopyOptions timestampConverter(String pattern, CharSequence... propertyNames)
          日時のコンバータを設定します。
protected  String toBeanDestPropertyName(String srcPropertyName)
          コピー元のプロパティ名をコピー先となるBean用のプロパティ名に変換して返します。
protected  String toMapDestPropertyName(String srcPropertyName)
          コピー元のプロパティ名をコピー先となるMap用のプロパティ名に変換して返します。
protected static List<String> toStringList(CharSequence[] array)
          CharSequenceの配列をStringのListに変換します。
protected  String trimPrefix(String propertyName)
          プレフィックスを削ります。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_DATE_CONVERTER

protected static final Converter DEFAULT_DATE_CONVERTER
日付用のデフォルトコンバータです。


DEFAULT_TIME_CONVERTER

protected static final Converter DEFAULT_TIME_CONVERTER
時間用のデフォルトコンバータです。


DEFAULT_TIMESTAMP_CONVERTER

protected static final Converter DEFAULT_TIMESTAMP_CONVERTER
日時用のデフォルトコンバータです。


includePropertyNames

protected final List<String> includePropertyNames
操作の対象に含めるプロパティ名の配列です。


excludePropertyNames

protected final List<String> excludePropertyNames
操作の対象に含めないプロパティ名の配列です。


excludesNull

protected boolean excludesNull
null値のプロパティを操作の対象外にするかどうかです。


excludesWhitespace

protected boolean excludesWhitespace
空白のみの文字列を操作の対象外にするかどうかです。


prefix

protected String prefix
プレフィックスです。


beanDelimiter

protected char beanDelimiter
JavaBeanのデリミタです。


mapDelimiter

protected char mapDelimiter
Mapのデリミタです。


converterMap

protected final Map<String,Converter> converterMap
特定のプロパティに関連付けられたコンバータです。


converters

protected final List<Converter> converters
特定のプロパティに関連付けられていないコンバータです。

コンストラクタの詳細

CopyOptions

public CopyOptions()
メソッドの詳細

include

public CopyOptions include(CharSequence... propertyNames)
操作の対象に含めるプロパティ名を追加します。

パラメータ:
propertyNames - プロパティ名の並び。nullや空配列であってはいけません
戻り値:
このインスタンス自身

exclude

public CopyOptions exclude(CharSequence... propertyNames)
操作の対象に含めないプロパティ名を追加します。

パラメータ:
propertyNames - プロパティ名の並び。nullや空配列であってはいけません
戻り値:
このインスタンス自身

excludeNull

public CopyOptions excludeNull()
null値のプロパティを操作の対象外にします。

戻り値:
このインスタンス自身

excludeWhitespace

public CopyOptions excludeWhitespace()
空白のプロパティを操作の対象外にします。

戻り値:
このインスタンス自身

prefix

public CopyOptions prefix(CharSequence prefix)
プレフィックスを指定します。

プレフィックスを指定すると、コピー元のプロパティ名がプレフィックスで始まるプロパティだけがコピーの対象となります。 また、コピー元のプロパティ名からプレフィックスを除去した名前がコピー先のプロパティ名となります。

パラメータ:
prefix - プレフィックス。nullや空文字列であってはいけません
戻り値:
このインスタンス自身

beanDelimiter

public CopyOptions beanDelimiter(char beanDelimiter)
JavaBeansのデリミタを設定します。

JavaBeansからMapへ、あるいはその逆にコピーする際に、プロパティ名のデリミタを変更することが出来ます。 例えばJavaBeans側のデリミタにアンダースコア、Map側のデリミタにピリオドを指定した場合、 コピー元とコピー先のプリパティ名は次のようになります。

JavaBeansのプロパティ名 Mapのプロパティ名
foo foo
foo_bar foo.bar
foo_bar_baz foo.bar.baz

パラメータ:
beanDelimiter - JavaBeansのデリミタ
戻り値:
このインスタンス自身

mapDelimiter

public CopyOptions mapDelimiter(char mapDelimiter)
Mapのデリミタを設定します。

JavaBeansからMapへ、あるいはその逆にコピーする際に、プロパティ名のデリミタを変更することが出来ます。 例えばJavaBeans側のデリミタにアンダースコア、Map側のデリミタにピリオドを指定した場合、 コピー元とコピー先のプリパティ名は次のようになります。

JavaBeansのプロパティ名 Mapのプロパティ名
foo foo
foo_bar foo.bar
foo_bar_baz foo.bar.baz

パラメータ:
mapDelimiter - Mapのデリミタ
戻り値:
このインスタンス自身

converter

public CopyOptions converter(Converter converter,
                             CharSequence... propertyNames)
コンバータを設定します。

パラメータ:
converter - コンバータ。nullであってはいけません
propertyNames - このコンバータを適用するプロパティ名の並び。各要素はnullや空文字列であってはいけません
戻り値:
このインスタンス自身

dateConverter

public CopyOptions dateConverter(String pattern,
                                 CharSequence... propertyNames)
日付のコンバータを設定します。

パラメータ:
pattern - 日付のパターン。nullや空文字列であってはいけません
propertyNames - このコンバータを適用するプロパティ名の並び。各要素はnullや空文字列であってはいけません
戻り値:
このインスタンス自身
関連項目:
DateConverter

sqlDateConverter

public CopyOptions sqlDateConverter(String pattern,
                                    CharSequence... propertyNames)
SQL用日付のコンバータを設定します。

パラメータ:
pattern - 日付のパターン。nullや空文字列であってはいけません
propertyNames - このコンバータを適用するプロパティ名の並び。各要素はnullや空文字列であってはいけません
戻り値:
このインスタンス自身
関連項目:
SqlDateConverter

timeConverter

public CopyOptions timeConverter(String pattern,
                                 CharSequence... propertyNames)
時間のコンバータを設定します。

パラメータ:
pattern - 時間のパターン。nullや空文字列であってはいけません
propertyNames - このコンバータを適用するプロパティ名の並び。各要素はnullや空文字列であってはいけません
戻り値:
このインスタンス自身
関連項目:
TimeConverter

timestampConverter

public CopyOptions timestampConverter(String pattern,
                                      CharSequence... propertyNames)
日時のコンバータを設定します。

パラメータ:
pattern - 日時のパターン。nullや空文字列であってはいけません
propertyNames - このコンバータを適用するプロパティ名の並び。各要素はnullや空文字列であってはいけません
戻り値:
このインスタンス自身
関連項目:
TimestampConverter

numberConverter

public CopyOptions numberConverter(String pattern,
                                   CharSequence... propertyNames)
数値のコンバータを設定します。

パラメータ:
pattern - 数値のパターン。nullや空文字列であってはいけません
propertyNames - このコンバータを適用するプロパティ名の並び。各要素はnullや空文字列であってはいけません
戻り値:
このインスタンス自身
関連項目:
NumberConverter

toStringList

protected static List<String> toStringList(CharSequence[] array)
CharSequenceの配列をStringのListに変換します。

パラメータ:
array - CharSequenceの配列
戻り値:
StringのList

isTargetProperty

protected boolean isTargetProperty(String name)
対象のプロパティかどうかを返します。

パラメータ:
name - プロパティ名
戻り値:
対象のプロパティかどうか

isTargetValue

protected boolean isTargetValue(Object value)
値がコピーの対象ならtrueを返します。

パラメータ:
value - コピー元の値
戻り値:
値がコピーの対象ならtrue

toMapDestPropertyName

protected String toMapDestPropertyName(String srcPropertyName)
コピー元のプロパティ名をコピー先となるMap用のプロパティ名に変換して返します。

パラメータ:
srcPropertyName - コピー元のプロパティ名
戻り値:
コピー先のプロパティ名

toBeanDestPropertyName

protected String toBeanDestPropertyName(String srcPropertyName)
コピー元のプロパティ名をコピー先となるBean用のプロパティ名に変換して返します。

パラメータ:
srcPropertyName - コピー元のプロパティ名
戻り値:
コピー先のプロパティ名

trimPrefix

protected String trimPrefix(String propertyName)
プレフィックスを削ります。

パラメータ:
propertyName - プロパティ名
戻り値:
削った結果

convertValue

protected Object convertValue(Object value,
                              String destPropertyName,
                              Class<?> destPropertyClass)
値を変換します。

パラメータ:
value - 値
destPropertyName - コピー先のプロパティ名
destPropertyClass - コピー先のプロパティクラス
戻り値:
変換後の値

findConverter

protected Converter findConverter(Class<?> clazz)
クラスに対応するコンバータを探します。

パラメータ:
clazz - クラス
戻り値:
コンバータ

findDefaultConverter

protected Converter findDefaultConverter(Class<?> clazz)
クラスに対応するデフォルトのコンバータを探します。

パラメータ:
clazz - クラス
戻り値:
コンバータ


Copyright © 2010-2012 The Seasar Foundation. All Rights Reserved.