Class RangedCharsetDef

java.lang.Object
nablarch.core.validation.validator.unicode.CharsetDefSupport
nablarch.core.validation.validator.unicode.RangedCharsetDef
All Implemented Interfaces:
CharsetDef

public class RangedCharsetDef extends CharsetDefSupport
Unicodeコードポイントの範囲による許容文字集合定義クラス。
コードポイントの開始位置と終了位置の範囲内が許容文字の集合となる。 コードポイントは、Unicode標準の U+n 表記で指定する。

例えば、制御文字を除くASCII文字を定義したい場合、以下のようにプロパティを設定する。

 //  -~
 
 Charset asciiWithoutControlCode = new RangedCharsetDef();
 asciiWithoutControlCode.setStartCodePoint("U+0020");
 asciiWithoutControlCode.setEndCodePoint("U+007F");
 
 

コンポーネント設定ファイルに定義する場合、以下の記述が等価となる。

 
 <component name="asciiWithoutControlCode" class="nablarch.core.validation.validator.unicode.RangedCharsetDef">
   <property name="startCodePoint" value="U+0020" />
   <property name="endCodePoint" value="U+007F" />
 </component>
 
 

実行例を以下に示す。

 asciiWithoutControlCode.contains("abc012"); // -> true
 asciiWithoutControlCode.contains("\t");     // -> false
 

  • Constructor Details

    • RangedCharsetDef

      public RangedCharsetDef()
  • Method Details

    • setStartCodePoint

      public void setStartCodePoint(String start) throws IllegalArgumentException, IllegalStateException
      開始位置のコードポイントを設定する。
      Parameters:
      start - 開始位置(U+n表記)
      Throws:
      IllegalArgumentException - コードポイントが範囲外の場合
      IllegalStateException - 開始終了位置の大小関係が逆転している場合
    • setEndCodePoint

      public void setEndCodePoint(String end) throws IllegalArgumentException, IllegalStateException
      終了位置のコードポイントを設定する。
      Parameters:
      end - 終了位置(U+n表記)
      Throws:
      IllegalArgumentException - コードポイントが範囲外の場合
      IllegalStateException - 開始終了位置の大小関係が逆転している場合
    • contains

      public boolean contains(int codePoint)
      コードポイントが許容文字であるか判定する。
      Parameters:
      codePoint - Unicodeコードポイント
      Returns:
      許容文字である場合、真