クラス BmsType
- Object
-
- BmsType
-
public final class BmsType extends Object
メタ情報・チャンネルのデータ型を表します。当クラスが提供する機能は、データ型の情報参照、データの変換テスト、データ変換です。当クラスが提供する機能は、 主に
BmsContent
から使用され、BMSコンテンツのデータに関する制御処理に用いられます。データ型一覧
データ型はBMSライブラリ側で規定されており、下記が全てです。
「データ型名(実際のデータ型名)」で表記します。- 関連項目:
BmsMeta
,BmsChannel
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static BmsType
ARRAY16
16進数値配列型static BmsType
ARRAY36
36進数値配列型static BmsType
BASE16
16進数値型static BmsType
BASE36
36進数値型static BmsType
INTEGER
整数型static int
NTYPE_ARRAY
ネイティブデータ型がBmsArrayであることを示します。static int
NTYPE_DOUBLE
ネイティブデータ型がDoubleであることを示します。static int
NTYPE_LONG
ネイティブデータ型がLongであることを示します。static int
NTYPE_OBJECT
ネイティブデータ型がObjectであることを示します。static int
NTYPE_STRING
ネイティブデータ型がStringであることを示します。static BmsType
NUMERIC
実数型static BmsType
OBJECT
任意型static BmsType
STRING
文字列型
-
メソッドの概要
すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 Object
cast(Object src)
指定オブジェクトをBMSデータ型が示す形式に変換します。static Object
cast(Object src, BmsType require)
指定オブジェクトをBMSデータ型が示す形式に変換します。boolean
equals(Object obj)
BMSデータ型が同一かどうかを判定します。String
getName()
データ型の名称を取得します。int
getNativeType()
BMSデータ型を示すためのデータのネイティブなデータ型を取得します。Pattern
getPattern()
文字列解析時の許容正規表現パターンを取得します。int
getRadix()
数値データの基数を取得します。boolean
isArrayType()
BMSデータ型が配列型であるかどうかを取得します。boolean
isNumberType()
BMSデータ型が数値型であるかどうかを取得します。boolean
isValueType()
BMSデータ型が値型であるかどうかを取得します。static BmsType
REGEX(String pattern)
正規表現文字列型boolean
test(String data)
指定文字列が許容正規表現パターンにマッチするかどうかをテストします。String
toString()
データ型の名称を返します。
-
-
-
フィールドの詳細
-
NTYPE_LONG
public static final int NTYPE_LONG
ネイティブデータ型がLongであることを示します。- 関連項目:
- 定数フィールド値
-
NTYPE_DOUBLE
public static final int NTYPE_DOUBLE
ネイティブデータ型がDoubleであることを示します。- 関連項目:
- 定数フィールド値
-
NTYPE_STRING
public static final int NTYPE_STRING
ネイティブデータ型がStringであることを示します。- 関連項目:
- 定数フィールド値
-
NTYPE_ARRAY
public static final int NTYPE_ARRAY
ネイティブデータ型がBmsArrayであることを示します。- 関連項目:
- 定数フィールド値
-
NTYPE_OBJECT
public static final int NTYPE_OBJECT
ネイティブデータ型がObjectであることを示します。- 関連項目:
- 定数フィールド値
-
INTEGER
public static final BmsType INTEGER
整数型このデータ型の値は内部的にはlong型として扱われ、値の範囲は
Long.MIN_VALUE
からLong.MAX_VALUE
となります。文字列で許可される表現は [\+\-]?[0-9]+ となり、前後の空白文字は許可されません。文字列の内容が 値の範囲を超えている場合の変換後の値は未定義です。
-
NUMERIC
public static final BmsType NUMERIC
実数型このデータ型の値は内部的にはdouble型として扱われ、値の範囲は
Double.MIN_VALUE
からDouble.MAX_VALUE
となります。文字列で許可される表現は [\\+\\-]?[0-9]+(\\.[0-9]+)?([eE][\\+\\-]?[0-9]+)? となり、前後の空白文字は許可されません。 小数点以下の記述は必須ではありません。文字列の内容が値の範囲を超えている場合、および小数点以下の精度が double型で表現不可能な場合の変換後の値は未定義です。
-
STRING
public static final BmsType STRING
文字列型このデータ型の値は内部的にはStringとして扱われます。文字列の長さはStringが取り得る最大の長さまで 表現可能です。
-
BASE16
public static final BmsType BASE16
16進数値型このデータ型では、1個の16進数値を表現できます。数値は2文字で表現可能な0(00)~255(FF)までとなり、 その範囲を超える数値は表現できません。
cast
によるデータ変換において、文字列から変換する際は基数が16になることに 注意してください。例えば、変換元データが"80"の場合の出力はlong型の128Lになります。
-
BASE36
public static final BmsType BASE36
36進数値型このデータ型では、1個の36進数値を表現できます。数値は2文字で表現可能な0(00)~1295(ZZ)までとなり、 その範囲を超える数値は表現できません。
cast
によるデータ変換において、文字列から変換する際は基数が36になることに 注意してください。例えば、変換元データが"80"の場合の出力はlong型の288Lになります。
-
ARRAY16
public static final BmsType ARRAY16
-
ARRAY36
public static final BmsType ARRAY36
-
OBJECT
public static final BmsType OBJECT
-
-
メソッドの詳細
-
REGEX
public static BmsType REGEX(String pattern)
正規表現文字列型STRING
とは異なり、正規表現による書式の制約がある文字列型です。 それ以外の振る舞いは文字列型と同様です。- パラメータ:
pattern
- 正規表現パターン- 戻り値:
- 指定した正規表現パターン制約のある文字列型
- 例外:
NullPointerException
- patternがnullPatternSyntaxException
- 正規表現の構文が無効である場合
-
equals
public boolean equals(Object obj)
BMSデータ型が同一かどうかを判定します。ネイティブデータ型、および文字列解析時の許容正規表現パターンが一致するものを同一と見なします。
-
getName
public final String getName()
データ型の名称を取得します。- 戻り値:
- データ型の名称
-
getPattern
public final Pattern getPattern()
文字列解析時の許容正規表現パターンを取得します。- 戻り値:
- 文字列解析時の許容正規表現パターン
-
getRadix
public final int getRadix()
数値データの基数を取得します。このメソッドが返す基数は、文字列から当該データ型へ変換する際に、期待する基数を返します。
INTEGER
/NUMERIC
は10、BASE16
/ARRAY16
は16、BASE36
/ARRAY36
は36を返し、 それ以外の型は全て0を示します。- 戻り値:
- 数値データの基数
-
getNativeType
public final int getNativeType()
BMSデータ型を示すためのデータのネイティブなデータ型を取得します。- 戻り値:
- ネイティブデータ型
-
isNumberType
public final boolean isNumberType()
- 戻り値:
- 数値型である場合はtrue
-
isArrayType
public final boolean isArrayType()
BMSデータ型が配列型であるかどうかを取得します。ネイティブデータ型が
NTYPE_ARRAY
を示すBMS型が該当します。- 戻り値:
- 配列型である場合はtrue
-
isValueType
public final boolean isValueType()
BMSデータ型が値型であるかどうかを取得します。BMSデータ型における「値型」とは、「配列型」「任意型」ではないデータ型全てを示します。
- 戻り値:
- 値型である場合はtrue
-
test
public final boolean test(String data)
指定文字列が許容正規表現パターンにマッチするかどうかをテストします。- パラメータ:
data
- テストする文字列- 戻り値:
- マッチする場合はtrue
- 例外:
NullPointerException
- dataがnull
-
cast
public final Object cast(Object src)
指定オブジェクトをBMSデータ型が示す形式に変換します。変換後のデータ型は、BMSデータ型が示すネイティブデータ型によって決まります。
このメソッドの変換処理では、BMSデータ型ごとに保有する許容正規表現パターンの影響を受けません。 変換元オブジェクトのデータ型から、BMSデータ型のネイティブデータ型への純粋なデータ変換処理を 提供するのみであることに注意してください。但し、BMSデータ型に設定された値の表現可能範囲の チェックは行われ、これに違反する場合は変換失敗となり例外がスローされます。
任意型への変換を行った場合、変換処理は行われず、戻り値はsrcと同じ参照を返します。
- パラメータ:
src
- 変換元オブジェクト- 戻り値:
- 変換後オブジェクト
- 例外:
NullPointerException
- srcがnullClassCastException
- srcの変換に失敗、または数値が表現可能範囲を超えた
-
cast
public static Object cast(Object src, BmsType require)
指定オブジェクトをBMSデータ型が示す形式に変換します。変換後のデータ型は、要求データ型が示すネイティブデータ型によって決まります。
このメソッドの変換処理では、要求データ型が保有する許容正規表現パターンの影響を受けません。 変換元オブジェクトのデータ型から、要求データ型のネイティブデータ型への純粋なデータ変換処理を 提供するのみであることに注意してください。但し、要求データ型に設定された値の表現可能範囲の チェックは行われ、これに違反する場合は変換失敗となり例外がスローされます。
任意型への変換を行った場合、変換処理は行われず、戻り値はsrcと同じ参照を返します。
- パラメータ:
src
- 変換元オブジェクトrequire
- 要求データ型- 戻り値:
- 変換後オブジェクト
- 例外:
NullPointerException
- srcがnullNullPointerException
- requireがnullClassCastException
- srcの変換に失敗、またはrequireの表現可能範囲を超えた
-
-