[Seasar-user:15471] S2BeansUtilsでEnum型のコンバート
IZUNO Tadashi
[E-MAIL ADDRESS DELETED]
2008年 8月 22日 (金) 17:38:27 JST
いづのです。
S2BeansUtilsでEnum型のプロパティをコンバートをするために以下のようなconverterを用意しました。
public class EnumOrdinalConverter implements Converter {
private final Class<? extends Enum> enumClass;
public EnumOrdinalConverter(Class<? extends Enum> enumClass) {
this.enumClass = enumClass;
}
public Object getAsObject(String value) {
if (StringUtil.isEmpty(value)) {
return null;
}
if (!StringUtil.isNumber(value)) {
return null;
}
return enumClass.getEnumConstants()[IntegerConversionUtil.toPrimitiveInt(value)];
}
public String getAsString(Object value) {
return StringConversionUtil.toString((Enum.class.cast(value)).ordinal());
}
public boolean isTarget(Class clazz) {
return clazz == Enum.class;
}
}
ただこれだと型毎にconverterを指定する必要があるのであまりうれしくありません。
コンバート先の型をみてコンバートできればいいのですが、そういった事は可能でしょうか。
S2JDBCでEnum型の定義もordinal値がサポートされているのでS2BeansUtilsの方でサポートしていただくことはできないでしょうか?
以上
Seasar-user メーリングリストの案内