カスタムConverterの作成

SeaserのHPには、カスタムValidatorのドキュメントはあるものの

Converterの方はまだみたい(TODOになっていた(TДT))ので

以下の順序で作成してみたら、無事にコンバートに成功した。

1.アノテーションの作成

@Retention(RetentionPolicy.RUNTIME)
@Target( { ElementType.FIELD, ElementType.METHOD })
@Converter("textHogeConverter")
public @interface TextHoge {
String target() default "";
String messageId() default "";
int hogeLength() default 0;
}


2.Converterの作成

public class TextHogeConverter implements Converter {
 private int hogeLength;
 // Setter/Getter省略
 // ビュー→Bean
 public Object getAsObject(
  FacesContext context,
  UIComponent component,
  String value) throws ConverterException {
    //TODO 実装
    return null;
 }
 // Bean←ビュー
 public String getAsString(
  FacesContext context,
  UIComponent component,
  Object value) throws ConverterException {
    // TODO 実装
    return null;
 }


3.Pageクラスで設定

 @Override
 @TextHoge(hogeLength=2)
 public String getHogeName() {
  return super.getHogeName();
 }

以上