パッケージ net.utsuro.mask
クラス MaskingUtil
- java.lang.Object
-
- net.utsuro.mask.MaskingUtil
-
public abstract class MaskingUtil extends Object
マスク化処理のユーティリティクラス.
-
-
ネストされたクラスの概要
ネストされたクラス 修飾子とタイプ クラス 説明 static classMaskingUtil.CharType文字種類.
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 MaskingUtil()
-
メソッドの概要
すべてのメソッド staticメソッド concreteメソッド 修飾子とタイプ メソッド 説明 static StringgetLuhnDigit(String cardNo)クレジットカードのチェックディジットをLuhnアルゴリズムで求める.static LocalDateTimegetRandomDate(LocalDateTime min, LocalDateTime max)ランダムに日付を生成.static StringgetRandomHalfKana()ランダムに半角カナ1文字を生成.static StringgetRandomHiragana()ランダムにひらがな1文字を生成.static intgetRandomIndex(int[] weights)重み付きランダム抽選を行います.static intgetRandomIndex(int[] weights, int totalWeight)重み付きランダム抽選を行います.static intgetRandomNumber(int min, int max)ランダムに整数を生成.static longgetRandomNumber(long min, long max)ランダムに整数を生成.static BigDecimalgetRandomNumber(BigDecimal min, BigDecimal max)ランダムに実数を生成.static BigIntegergetRandomNumber(BigInteger min, BigInteger max)ランダムに整数を生成.static StringgetRandomSjisKanji()ランダムに漢字1文字を生成.static StringgetRandomSjisWideKana()ランダムに全角カナ1文字を生成.static StringgetRandomSjisWideLowerAlpha()ランダムに全角英小文字1文字を生成.static StringgetRandomSjisWideNumber()ランダムに全角数字1文字を生成.static StringgetRandomSjisWideUpperAlpha()ランダムに全角英大文字1文字を生成.static StringgetRandomString(int sjisLen, EnumSet<MaskingUtil.CharType> charType)ランダムな文字列を生成します.static StringgetRandomString(int sjisLen, EnumSet<MaskingUtil.CharType> charType, Pattern noGenPattern)ランダムな文字列を生成します.static StringgetRandomString(int sjisLen, MaskingUtil.CharType charType)ランダムな文字列を生成します.static StringgetRandomString(int sjisLen, MaskingUtil.CharType charType, Pattern noGenPattern)ランダムな文字列を生成します.static intgetSjisByteCount(String s)バイト数(SJIS換算)を返す.static StringhalfKanaToWideKana(String s)半角カナを全角にして返す.static StringhalfNumberToWideNumber(String s)半角数字を全角にして返す.static StringhiraganaToWideKana(String s)ひらがなを全角カナにして返す.static booleanisInvalidNextLetter(StringBuilder str, String nextChar)行頭禁止の文字かどうか(かな小文字とかンとか)、拗音(きゃ)以外かどうかを返す.static booleanisInvalidNextLetter(String str, String nextChar)行頭禁止の文字かどうか(かな小文字とかンとか)、拗音(きゃ)以外かどうかを返す.static booleanisWideChar(String s)全角文字(SJIS)かどうかを返す.static String[]splitBySjisBytes(String s, int bytes)バイト数(SJIS換算)で文字列を分割する.static StringtoUpperHalfKana(String s)半角カナ小文字を大文字にして返す.static StringtoUpperHiragana(String s)ひらがな小文字を大文字にして返す.static StringtoUpperWideKana(String s)全角カナ小文字を大文字にして返す.static StringwideKanaToHalfKana(String s)全角カナを半角にして返す.static StringwideKanaToHiragana(String s)全角カナをひらがなにして返す.
-
-
-
メソッドの詳細
-
isWideChar
public static boolean isWideChar(String s)
全角文字(SJIS)かどうかを返す.- パラメータ:
s- 検査したい文字- 戻り値:
- 全角文字が含まれている場合true, 半角のみの場合false
-
getSjisByteCount
public static int getSjisByteCount(String s)
バイト数(SJIS換算)を返す.- パラメータ:
s- カウントしたい文字- 戻り値:
- SJIS換算バイト数(全角2byte、半角1byte、nullは0byte)
-
splitBySjisBytes
public static String[] splitBySjisBytes(String s, int bytes)
バイト数(SJIS換算)で文字列を分割する.- パラメータ:
s- 分割したい文字bytes- 分割したいSJIS換算バイト数- 戻り値:
- SJIS換算バイト数(全角2byte、半角1byte)で分割した文字列配列
-
toUpperHalfKana
public static String toUpperHalfKana(String s)
半角カナ小文字を大文字にして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
toUpperWideKana
public static String toUpperWideKana(String s)
全角カナ小文字を大文字にして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
toUpperHiragana
public static String toUpperHiragana(String s)
ひらがな小文字を大文字にして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
wideKanaToHalfKana
public static String wideKanaToHalfKana(String s)
全角カナを半角にして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
halfKanaToWideKana
public static String halfKanaToWideKana(String s)
半角カナを全角にして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
halfNumberToWideNumber
public static String halfNumberToWideNumber(String s)
半角数字を全角にして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
hiraganaToWideKana
public static String hiraganaToWideKana(String s)
ひらがなを全角カナにして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
wideKanaToHiragana
public static String wideKanaToHiragana(String s)
全角カナをひらがなにして返す.- パラメータ:
s- 対象の文字- 戻り値:
- 置換後の文字
-
isInvalidNextLetter
public static boolean isInvalidNextLetter(StringBuilder str, String nextChar)
行頭禁止の文字かどうか(かな小文字とかンとか)、拗音(きゃ)以外かどうかを返す.- パラメータ:
str- 文字列nextChar- 次に来る文字- 戻り値:
- true=禁止文字, false=問題なし
-
isInvalidNextLetter
public static boolean isInvalidNextLetter(String str, String nextChar)
行頭禁止の文字かどうか(かな小文字とかンとか)、拗音(きゃ)以外かどうかを返す.- パラメータ:
str- 文字列nextChar- 次に来る文字- 戻り値:
- true=禁止文字, false=問題なし
-
getRandomString
public static String getRandomString(int sjisLen, MaskingUtil.CharType charType)
ランダムな文字列を生成します. ※引き渡す文字種が単独の場合に使用します。- パラメータ:
sjisLen- 生成する文字列のSJIS換算byte数charType- 文字種- 戻り値:
- 生成した文字列
-
getRandomString
public static String getRandomString(int sjisLen, MaskingUtil.CharType charType, Pattern noGenPattern)
ランダムな文字列を生成します. ※引き渡す文字種が単独の場合に使用します。- パラメータ:
sjisLen- 生成する文字列のSJIS換算byte数charType- 文字種noGenPattern- 生成しない文字パターン(正規表現)- 戻り値:
- 生成した文字列
-
getRandomString
public static String getRandomString(int sjisLen, EnumSet<MaskingUtil.CharType> charType)
ランダムな文字列を生成します. ※引き渡す文字種が単独の場合に使用します。- パラメータ:
sjisLen- 生成する文字列のSJIS換算byte数charType- 文字種- 戻り値:
- 生成した文字列
-
getRandomString
public static String getRandomString(int sjisLen, EnumSet<MaskingUtil.CharType> charType, Pattern noGenPattern)
ランダムな文字列を生成します.- パラメータ:
sjisLen- 生成する文字列のSJIS換算byte数charType- 文字種noGenPattern- 生成しない文字パターン(正規表現)- 戻り値:
- 生成した文字列
-
getRandomIndex
public static int getRandomIndex(int[] weights)
重み付きランダム抽選を行います. ※重み合計値未計算の場合はこちらを使用。抽選前に計算します。- パラメータ:
weights- 抽選対象の重み配列- 戻り値:
- 抽選結果のインデックス
-
getRandomIndex
public static int getRandomIndex(int[] weights, int totalWeight)重み付きランダム抽選を行います. ※計算済の重み合計値を引き渡す場合に使用。重み合計値に-1を渡すと抽選前に計算します。- パラメータ:
weights- 抽選対象の重み配列totalWeight- 重み合計値- 戻り値:
- 抽選結果のインデックス
-
getRandomHiragana
public static String getRandomHiragana()
ランダムにひらがな1文字を生成. ・生成される文字列が不自然になりすぎないように、かな出現率の重みによるランダム生成- 戻り値:
- String 生成したひらがな
-
getRandomHalfKana
public static String getRandomHalfKana()
ランダムに半角カナ1文字を生成. ・生成される文字列が不自然になりすぎないように、カナ出現率の重みによるランダム生成- 戻り値:
- String 生成したひらがな
-
getRandomSjisKanji
public static String getRandomSjisKanji()
ランダムに漢字1文字を生成. ・SJIS(MS932)の範囲の漢字を生成する ・NEC特殊文字 0x8740~0x879C、外字 0xF040~0xF9FC は生成しない ・NEC選定IBM拡張文字 0xED40~0xEEFC もIBM拡張文字と重複しているため生成しない ・80%は第一水準から抽選されるように調整して生成- 戻り値:
- String 生成した漢字
-
getRandomSjisWideKana
public static String getRandomSjisWideKana()
ランダムに全角カナ1文字を生成. ・SJIS(MS932)の範囲のカナを生成する- 戻り値:
- String 生成したカナ
-
getRandomSjisWideUpperAlpha
public static String getRandomSjisWideUpperAlpha()
ランダムに全角英大文字1文字を生成. ・SJIS(MS932)の範囲の全角英大文字を生成する- 戻り値:
- String 生成した全角英大文字
-
getRandomSjisWideLowerAlpha
public static String getRandomSjisWideLowerAlpha()
ランダムに全角英小文字1文字を生成. ・SJIS(MS932)の範囲の全角英小文字を生成する- 戻り値:
- String 生成した全角英小文字
-
getRandomSjisWideNumber
public static String getRandomSjisWideNumber()
ランダムに全角数字1文字を生成. ・SJIS(MS932)の範囲の全角数字を生成する- 戻り値:
- String 生成した全角数字
-
getRandomNumber
public static int getRandomNumber(int min, int max)ランダムに整数を生成.- パラメータ:
min- 生成する最小値max- 生成する最大値- 戻り値:
- 生成した整数
-
getRandomNumber
public static long getRandomNumber(long min, long max)ランダムに整数を生成.- パラメータ:
min- 生成する最小値max- 生成する最大値- 戻り値:
- 生成した整数
-
getRandomNumber
public static BigInteger getRandomNumber(BigInteger min, BigInteger max)
ランダムに整数を生成.- パラメータ:
min- 生成する最小値max- 生成する最大値- 戻り値:
- 生成した整数
-
getRandomNumber
public static BigDecimal getRandomNumber(BigDecimal min, BigDecimal max)
ランダムに実数を生成.- パラメータ:
min- 生成する最小値max- 生成する最大値- 戻り値:
- 生成した実数
-
getRandomDate
public static LocalDateTime getRandomDate(LocalDateTime min, LocalDateTime max)
ランダムに日付を生成.- パラメータ:
min- 生成する最小値max- 生成する最大値- 戻り値:
- 生成した日付
-
-