Annotation Interface SystemChar


システム許容文字で構成された文字列であることを表わすアノテーション。

許容文字集合 "全角文字" を次のように定義する。 許容文字集合の定義方法は、範囲指定やリテラル指定などいくつかあるので、詳細はnablarch.core.validation.validator.unicodeパッケージのjavadocを参照。

      <component name="全角文字" class="nablarch.core.validation.validator.unicode.RangedCharsetDef">
         <!-- 省略 -->
     </component>
   
上で定義した許容文字集合 "全角文字" のバリデーションを行うドメインを次のように定義する。
      public class SampleDomain {
          @Length(max = 10)
          @SystemChar(charsetDef="全角文字")
         String name;
     }
   
このドメイン定義を使用して、バリデーションを行う設定についてはDomainのjavadocを参照。

このバリデーションでは、デフォルトではサロゲートペアを許容しない。 (例えLiteralCharsetDefで明示的にサロゲートペアの文字を定義していても許容しない)

サロゲートペアを許容する場合は次のようにコンポーネント設定ファイルにSystemCharConfigを設定する必要がある。

   <component name="ee.SystemCharConfig" class="nablarch.core.validation.ee.SystemCharConfig">
     <property name="allowSurrogatePair" value="true"/>
   </component>
 
Author:
T.Kawasaki
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static @interface 
    複数指定用のアノテーション
    static class 
    システム許容文字のバリデーションを行うConstraintValidator実装クラス。
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    改行コードを許容するかどうか。 デフォルトはfalse(許容しない)。
    許容文字集合定義の名称
    Class<?>[]
    グループ
    メッセージ
    Class<? extends jakarta.validation.Payload>[]
    payload
  • Element Details

    • groups

      Class<?>[] groups
      グループ
      Default:
      {}
    • message

      String message
      メッセージ
      Default:
      "{nablarch.core.validation.ee.SystemChar.message}"
    • payload

      Class<? extends jakarta.validation.Payload>[] payload
      payload
      Default:
      {}
    • charsetDef

      String charsetDef
      許容文字集合定義の名称

      コンポーネントに定義されたCharsetDefの名前を指定する。

      Default:
      ""
    • allowLineSeparator

      boolean allowLineSeparator
      改行コードを許容するかどうか。 デフォルトはfalse(許容しない)。
      Default:
      false