ValUtil

フレームワーク部品 [com.onepg.util]

← クラス一覧に戻る

クラス情報

パッケージ: com.onepg.util

クラス名: ValUtil

説明

値ユーティリティクラス.

列挙型一覧

CharSet

public enum CharSet
文字セット指定.

定数

  • UTF8
  • SJIS
  • MS932

LineSep

public enum LineSep
改行コード.

定数

  • LF
  • CR
  • CRLF

CsvType

public enum CsvType
CSVタイプ列挙型.
  • CSVの各項目へのダブルクォーテーション付加方法と改行コードの扱いを定義する。
  • CSVタイプが改行有りの場合、かつ値内に改行コードを含む場合、その改行コード(CRLF・CR)は LF に統一する。
  • CSVタイプが改行無し(改行有り以外)の場合、かつ値内に改行コードを含む場合、その改行コード(CRLF・CR・LF)は半角スペースに変換する。

定数

  • NO_DQ
  • DQ_ALL
  • DQ_STD
  • DQ_ALL_LF
  • DQ_STD_LF

定数・変数一覧

BLANK

public String BLANK
ブランク値(ゼロバイト文字列).

ON

public String ON
区分:ON値.

OFF

public String OFF
区分:OFF値.

LF

public String LF
改行コード - LF.

CR

public String CR
改行コード - CR.

CRLF

public String CRLF
改行コード - CRLF.

UTF8

public String UTF8
文字セット指定 - UTF-8.

SJIS

public String SJIS
文字セット指定 - Shift_JIS.

MS932

public String MS932
文字セット指定 - MS932.

JSON_NULL

public String JSON_NULL
JSON null 文字.

メソッド一覧

isNull

public boolean isNull(Object obj)
null チェック.
  • Objectnull かチェックする。

パラメータ

名前 説明
obj Object チェック対象

戻り値

boolean - null の場合は true

isBlank

public boolean isBlank(String value)
ブランクチェック.
  • 半角スペースのみで構成/ゼロバイト文字列/null のいずれの場合もブランクと判断する。

パラメータ

名前 説明
value String チェック対象

戻り値

boolean - ブランクの場合は true

isEmpty

public boolean isEmpty(Object[] values)
空チェック.
  • 配列が長さゼロ 又は null かチェックする。

パラメータ

名前 説明
values Object[] チェック対象

戻り値

boolean - 空の場合は true

isEmpty

public boolean isEmpty(List<?> list)
空チェック.
  • リストが長さゼロ 又は null かチェックする。

パラメータ

名前 説明
list List<?> チェック対象

戻り値

boolean - 空の場合は true

isEmpty

public boolean isEmpty(Map<?, ?> map)
空チェック.
  • マップが長さゼロ 又は null かチェックする。

パラメータ

名前 説明
map Map<?, ?> チェック対象

戻り値

boolean - 空の場合は true

isValidIoKey

public boolean isValidIoKey(String key)
入出力マップキー形式チェック.
  • 入出力マップのキーとして使用できる文字かのチェックを行う。
  • 許可する文字は下記のとおり。
    • 英字小文字
    • 数字
    • アンダースコア
    • ハイフン
    • ドット

パラメータ

名前 説明
key String チェック対象キー

戻り値

boolean - 無効な文字を含む場合は false

validateIoKey

public void validateIoKey(String key)
入出力マップキー形式チェック.
  • 入出力マップのキーとして使用できる文字かのチェックを行う。
  • 許可する文字は下記のとおり。
    • 英字小文字
    • 数字
    • アンダースコア
    • ハイフン
    • ドット
  • 無効な文字を含む場合は RuntimeException をスローする。

パラメータ

名前 説明
key String チェック対象キー

nvl

public String nvl(String value)
null ブランク置換.
  • 文字列が null の場合はブランクを返す。

パラメータ

名前 説明
value String チェック対象

戻り値

String - null の場合は ブランク

nvl

public String nvl(String value, String nullDefault)
null 置換.
  • 文字列が null の場合は置き換え文字を返す。

パラメータ

名前 説明
value String チェック対象
nullDefault String 置き換え文字

戻り値

String - null の場合は 置き換え文字

nvl

public BigDecimal nvl(BigDecimal value)
null ゼロ置換.
  • 数値が null の場合はゼロを返す。

パラメータ

名前 説明
value BigDecimal チェック対象

戻り値

BigDecimal - null の場合は ゼロ

bvl

public String bvl(String value, String blankDefault)
ブランク置換.
  • 文字列がブランクの場合は置き換え文字を返す。
  • ブランク判断には #isBlank(String) を使用。

パラメータ

名前 説明
value String チェック対象
blankDefault String 置き換え文字

戻り値

String - ブランクの場合は置き換え文字

join

public String join(String joint, String... values)
配列連結.
  • 配列が空の場合はブランクを返す。
  • null はブランクとして連結される。

パラメータ

名前 説明
joint String つなぎ目文字
values String... 連結対象

戻り値

String - 連結した文字列

join

public String join(String joint, List<String> list)
リスト連結.
  • リストが空の場合はブランクを返す。
  • null はブランクとして連結される。

パラメータ

名前 説明
joint String つなぎ目文字
list List<String> 連結対象

戻り値

String - 連結した文字列

join

public String join(String joint, Set<String> list)
リスト連結.
  • リストが空の場合はブランクを返す。
  • null はブランクとして連結される。

パラメータ

名前 説明
joint String つなぎ目文字
list Set<String> 連結対象

戻り値

String - 連結した文字列

split

public String[] split(String value, String sep)
配列分割.
  • 文字が null の場合は長さゼロの配列を返す。

パラメータ

名前 説明
value String 分割対象文字
sep String 分割文字

戻り値

String[] - 分割した文字列配列

splitReg

public String[] splitReg(String value, String sep)
正規表現配列分割.
  • 文字が null の場合は長さゼロの配列を返す。

パラメータ

名前 説明
value String 分割対象文字
sep String 分割文字(正規表現)

戻り値

String[] - 分割した文字列配列

splitReg

public String[] splitReg(String value, String sep, int limitLength)
正規表現配列分割.
  • 文字が null の場合は長さゼロの配列を返す。

パラメータ

名前 説明
value String 分割対象文字
sep String 分割文字(正規表現)
limitLength int 最大長さ

戻り値

String[] - 分割した文字列配列

equals

public boolean equals(String str1, String str2)
文字列比較.
  • null はゼロバイトブランク文字として比較する。

パラメータ

名前 説明
str1 String 比較対象その1
str2 String 比較対象その2

戻り値

boolean - 同値の場合は true

equals

public boolean equals(BigDecimal dec1, BigDecimal dec2)
数値比較.
  • null はゼロとして比較する。

パラメータ

名前 説明
dec1 BigDecimal 比較対象その1
dec2 BigDecimal 比較対象その2

戻り値

boolean - 同値の場合は true

substring

public String substring(String value, Integer beginIndex)
文字列安全切り取り(開始インデックスのみ指定).
  • 開始インデックスから文字列の最後まで切り取る。

パラメータ

名前 説明
value String 対象文字列
beginIndex Integer 開始インデックス

戻り値

String - 切り取り文字列

substring

public String substring(String value, Integer beginIndex, Integer endIndex)
文字列安全切り取り.
  • 文字列の指定範囲を安全に切り取る。
  • 範囲外の指定や不正な値に対して適切に処理する。

パラメータ

名前 説明
value String 対象文字列
beginIndex Integer 開始インデックス(省略可能)null を渡した(省略した)場合は0
endIndex Integer 終了インデックス(省略可能)null を渡した(省略した)場合は文字列長

戻り値

String - 切り取り文字列

isAlphabetNumber

public boolean isAlphabetNumber(String value)
英数字チェック.
  • 文字列が英数字として有効かチェックする。

パラメータ

名前 説明
value String チェック対象

戻り値

boolean - 有効な場合は true

isNumber

public boolean isNumber(String value)
数値チェック.
  • 文字列が数値として有効かチェックする。

パラメータ

名前 説明
value String チェック対象

戻り値

boolean - 有効な場合は true

isNumber

public boolean isNumber(String value, boolean minusNg, boolean decNg)
数値チェック.
  • 文字列が数値として有効かチェックする。

パラメータ

名前 説明
value String チェック対象
minusNg boolean マイナス値を無効とする場合は true
decNg boolean 小数を無効とする場合は true

戻り値

boolean - 有効な場合は true

checkLength

public boolean checkLength(String value, int len)
桁数チェック.
  • #isBlank(String)true の前提とし、チェック対象がブランクの場合は false を返す。

パラメータ

名前 説明
value String チェック対象
len int 有効桁数

戻り値

boolean - 有効な場合は true

checkLengthNumber

public boolean checkLengthNumber(String value, int intPartLen, int decPartLen)
数値桁数(精度)チェック.
  • 整数部分と小数点以下の桁数が指定された範囲内であることを確認する。
  • 引数はDB項目定義と同じで整数部と小数部を足した桁数と小数部だけの桁数で指定する。
  • #isNumber(String)true の前提とし、チェック対象がブランクの場合は false を返す。

パラメータ

名前 説明
value String チェック対象
intPartLen int 整数部と小数部を足した有効桁数
decPartLen int 小数部の有効桁数

戻り値

boolean - 有効な場合は true

isDate

public boolean isDate(String value)
実在日チェック.
  • 文字列が日付として有効かチェックする。

パラメータ

名前 説明
value String チェック対象(YYYYMMDD)

戻り値

boolean - 有効な場合は true

isTrue

public boolean isTrue(String val)
真偽値チェック.
  • 文字列が真偽値「真」とみなす値かチェックする。
  • 下記の評価を行う。
    1. "1", "true", "yes", "on"(すべて半角)は true
    2. null またはブランクは false を含み、上記以外は false
    3. 大文字小文字を区別しない。
    4. 左右の半角スペースは無視する。

パラメータ

名前 説明
val String チェック対象

戻り値

boolean - 真偽値「真」とみなす場合は true

dateToLocalDate

public LocalDate dateToLocalDate(java.util.Date date)
Date型 to LocalDate型変換.

パラメータ

名前 説明
date java.util.Date Date型(java.sql.Date 含む)

戻り値

LocalDate - LocalDate型

trimDq

public String trimDq(String value)
ダブルクォーテーション除去.
  • 文字列の開始と終了のダブルクォーテーションを除去する。

パラメータ

名前 説明
value String 対象文字列

戻り値

String - 除去後文字列

trimBothEnds

public String trimBothEnds(String value, char prefix, char suffix)
文字列両端切り捨て.
  • トリムして両端文字ともに見つかった場合のみ切り捨てる。

パラメータ

名前 説明
value String 対象文字列
prefix char 前の端の文字
suffix char 後ろの端の文字

戻り値

String - 両端を切り捨てた文字列

trimBothEnds

public String trimBothEnds(String value, String prefix, String suffix)
文字列両端切り捨て.
  • トリムして両端文字ともに見つかった場合のみ切り捨てる。

パラメータ

名前 説明
value String 対象文字列
prefix String 前の端の文字
suffix String 後ろの端の文字

戻り値

String - 両端を切り捨てた文字列

trimZenkakuSpace

public String trimZenkakuSpace(String value)
文字列両端全角スペース切り捨て.
  • 文字列の開始と終了の全角スペースを除去する。

パラメータ

名前 説明
value String 対象文字列

戻り値

String - 除去後文字列

trimLeftZero

public String trimLeftZero(String value)
左ゼロ除去.
  • 文字列の左の "0" を除去する。

パラメータ

名前 説明
value String 文字列

戻り値

String - 処理後の文字

paddingLeftZero

public String paddingLeftZero(String value, int digit)
左ゼロ詰め.
  • 文字列の左に "0" を詰める。

パラメータ

名前 説明
value String 文字列
digit int 詰めた後の文字桁数

戻り値

String - 処理後の文字

paddingLeftZero

public String paddingLeftZero(int value, int digit)
左ゼロ詰め.
  • 数値を文字列に変換して左に "0" を詰める。

パラメータ

名前 説明
value int 数値
digit int 詰めた後の文字桁数

戻り値

String - 処理後の文字

deleteLastChar

public void deleteLastChar(StringBuilder sb)
最終1文字削除.

パラメータ

名前 説明
sb StringBuilder StringBuilder

deleteLastChar

public void deleteLastChar(StringBuilder sb, int length)
最終文字削除.

パラメータ

名前 説明
sb StringBuilder StringBuilder
length int 最終文字長さ

urlEncode

public String urlEncode(String url)
URLエンコード変換.
  • JavaScript の encodeURIComponent と合わせるため1バイトブランクを "+" から "%20" に変換しなおす。
  • ワイルドカードの "*" を "%2A" に変換する。

パラメータ

名前 説明
url String 変換文字列

戻り値

String - 変換後文字列

urlDecode

public String urlDecode(String url)
URLデコード変換.

パラメータ

名前 説明
url String 変換文字列

戻り値

String - 変換後文字列

jsonEscape

public String jsonEscape(String value)
JSONエスケープ変換.
  • JSONでエスケープが必要な文字をエスケープする。
  • null も制御文字としてエスケープする。

パラメータ

名前 説明
value String 文字列

戻り値

String - 変換後文字列

jsonUnEscape

public String jsonUnEscape(String value)
JSONエスケープ変換除去.
  • JSONでエスケープが必要な文字のエスケープを除去する。

パラメータ

名前 説明
value String 文字列

戻り値

String - 除去後文字列

getSequenceCode

public String getSequenceCode()
シーケンスコード値取得.
  • ナノ秒まで含むタイムスタンプを36進数に変換した値を返す。
  • システム内で常にユニークな値を返すため1ナノ秒スリープしてから返す。
  • 複数のシステムで使用する場合、ユニークな値を返すためにはホスト名やシステム名を付加するなどの考慮が必要となる。

戻り値

String - シーケンスコード値