クラス BmsType
- Object
-
- BmsType
-
public class BmsType extends Object
メタ情報・チャンネルのデータ型を表します。当クラスが提供する機能は、データ型の情報参照、データの変換テスト、データ変換です。当クラスが提供する機能は、 主に
BmsContentから使用され、BMSコンテンツのデータに関する制御処理に用いられます。- 導入されたバージョン:
- 0.0.1
- 関連項目:
BmsMeta,BmsChannel
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static BmsTypeARRAY基数選択数値配列型static BmsTypeARRAY1616進数値配列型static BmsTypeARRAY3636進数値配列型static BmsTypeARRAY6262進数値配列型static BmsTypeBASE基数選択数値型static BmsTypeBASE1616進数値型static BmsTypeBASE3636進数値型static BmsTypeBASE6262進数値型static BmsTypeFLOAT実数型static BmsTypeINTEGER整数型static intNTYPE_ARRAYネイティブデータ型がBmsArrayであることを示します。static intNTYPE_DOUBLEネイティブデータ型がDoubleであることを示します。static intNTYPE_LONGネイティブデータ型がLongであることを示します。static intNTYPE_OBJECTネイティブデータ型がObjectであることを示します。static intNTYPE_STRINGネイティブデータ型がStringであることを示します。static BmsTypeOBJECT任意型static BmsTypeSTRING文字列型
-
メソッドの概要
すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 Objectcast(Object src)指定オブジェクトをBMSデータ型が示す形式に変換します。static Objectcast(Object src, BmsType require)指定オブジェクトをBMSデータ型が示す形式に変換します。booleanequals(Object obj)BMSデータ型が同一かどうかを判定します。intgetBase()数値データの基数を取得します。StringgetName()データ型の名称を取得します。intgetNativeType()BMSデータ型を示すためのデータのネイティブなデータ型を取得します。PatterngetPattern()文字列解析時の許容正規表現パターンを取得します。booleanisArray16Type()BMSデータ型が16進数値配列型であるかどうかを取得します。booleanisArray36Type()BMSデータ型が36進数値配列型であるかどうかを取得します。booleanisArray62Type()BMSデータ型が62進数値配列型であるかどうかを取得します。booleanisArrayType()BMSデータ型が配列型であるかどうかを取得します。booleanisBase16Type()BMSデータ型が16進数値型であるかどうかを取得します。booleanisBase36Type()BMSデータ型が36進数値型であるかどうかを取得します。booleanisBase62Type()BMSデータ型が62進数値型であるかどうかを取得します。booleanisFloatType()BMSデータ型が実数型であるかどうかを取得します。booleanisIntegerType()BMSデータ型が整数型であるかどうかを取得します。booleanisNormalType()BMSデータ型が通常型であるかどうかを取得します。booleanisNumberType()BMSデータ型が数値型であるかどうかを取得します。booleanisObjectType()BMSデータ型が任意型であるかどうかを取得します。booleanisSelectable()BMSデータ型が基数選択可能なデータ型かどうかを取得します。booleanisSelectableArrayType()BMSデータ型が基数選択数値配列型であるかどうかを取得します。booleanisSelectableBaseType()BMSデータ型が基数選択数値型であるかどうかを取得します。booleanisStringType()BMSデータ型が文字列型であるかどうかを取得します。booleanisValueType()BMSデータ型が値型であるかどうかを取得します。static BmsTypeREGEX(String pattern)正規表現文字列型booleantest(String data)指定文字列が許容正規表現パターンにマッチするかどうかをテストします。StringtoString()データ型の名称を返します。
-
-
-
フィールドの詳細
-
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]+ となり、前後の空白文字は許可されません。文字列の内容が 値の範囲を超えている場合の変換後の値は未定義です。
-
FLOAT
public static final BmsType FLOAT
実数型このデータ型の値は内部的には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になります。
-
BASE62
public static final BmsType BASE62
62進数値型このデータ型では、1個の62進数値を表現できます。数値は2文字で表現可能な0(00)~3843(zz)までとなり、 その範囲を超える数値は表現できません。
castによるデータ変換において、文字列から変換する際は基数が62になることに 注意してください。例えば、変換元データが"80"の場合の出力はlong型の496Lになります。- 導入されたバージョン:
- 0.8.0
-
BASE
public static final BmsType BASE
基数選択数値型このデータ型は、最大で62進数値を表現できます。
BASE16,BASE36,BASE62と異なる点は、BMSコンテンツまたはライブラリ利用者側の指定によって表現可能な値の範囲が変化する点にあります。castによるデータ変換において、文字列から変換する際は基数が62になることに 注意してください。例えば、変換元データが"80"の場合の出力はlong型の496Lになります。- 導入されたバージョン:
- 0.8.0
-
ARRAY16
public static final BmsType ARRAY16
-
ARRAY36
public static final BmsType ARRAY36
-
ARRAY62
public static final BmsType ARRAY62
- 導入されたバージョン:
- 0.8.0
-
ARRAY
public static final BmsType ARRAY
- 導入されたバージョン:
- 0.8.0
-
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 String getName()
データ型の名称を取得します。- 戻り値:
- データ型の名称
-
getPattern
public Pattern getPattern()
文字列解析時の許容正規表現パターンを取得します。- 戻り値:
- 文字列解析時の許容正規表現パターン
-
getBase
public int getBase()
数値データの基数を取得します。このメソッドが返す基数は、文字列から当該データ型へ変換する際に、期待する基数を返します。
INTEGER/FLOATは10、BASE16/ARRAY16は16、BASE36/ARRAY36は36、BASE62/BASE/ARRAY62/ARRAYは62、 それ以外の型は全て0を示します。- 戻り値:
- 数値データの基数
-
getNativeType
public int getNativeType()
BMSデータ型を示すためのデータのネイティブなデータ型を取得します。- 戻り値:
- ネイティブデータ型
-
isIntegerType
public boolean isIntegerType()
BMSデータ型が整数型であるかどうかを取得します。- 戻り値:
- 整数型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isFloatType
public boolean isFloatType()
BMSデータ型が実数型であるかどうかを取得します。- 戻り値:
- 実数型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isStringType
public boolean isStringType()
BMSデータ型が文字列型であるかどうかを取得します。- 戻り値:
- 文字列型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isBase16Type
public boolean isBase16Type()
BMSデータ型が16進数値型であるかどうかを取得します。- 戻り値:
- 16進数値型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isBase36Type
public boolean isBase36Type()
BMSデータ型が36進数値型であるかどうかを取得します。- 戻り値:
- 36進数値型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isBase62Type
public boolean isBase62Type()
BMSデータ型が62進数値型であるかどうかを取得します。- 戻り値:
- 62進数値型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isArray16Type
public boolean isArray16Type()
BMSデータ型が16進数値配列型であるかどうかを取得します。- 戻り値:
- 16進数値配列型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isArray36Type
public boolean isArray36Type()
BMSデータ型が36進数値配列型であるかどうかを取得します。- 戻り値:
- 36進数値配列型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isArray62Type
public boolean isArray62Type()
BMSデータ型が62進数値配列型であるかどうかを取得します。- 戻り値:
- 62進数値配列型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isObjectType
public boolean isObjectType()
BMSデータ型が任意型であるかどうかを取得します。- 戻り値:
- 任意型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isNumberType
public boolean isNumberType()
- 戻り値:
- 数値型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isArrayType
public boolean isArrayType()
BMSデータ型が配列型であるかどうかを取得します。ネイティブデータ型が
NTYPE_ARRAYを示すBMS型が該当します。- 戻り値:
- 配列型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isValueType
public boolean isValueType()
BMSデータ型が値型であるかどうかを取得します。BMSデータ型における「値型」とは、「配列型」「任意型」ではないデータ型全てを示します。
- 戻り値:
- 値型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
isSelectableBaseType
public boolean isSelectableBaseType()
BMSデータ型が基数選択数値型であるかどうかを取得します。- 戻り値:
- 基数選択数値型であればtrue
- 導入されたバージョン:
- 0.8.0
- 関連項目:
BASE
-
isSelectableArrayType
public boolean isSelectableArrayType()
BMSデータ型が基数選択数値配列型であるかどうかを取得します。- 戻り値:
- 基数選択数値配列型であればtrue
- 導入されたバージョン:
- 0.8.0
- 関連項目:
ARRAY
-
isSelectable
public boolean isSelectable()
BMSデータ型が基数選択可能なデータ型かどうかを取得します。- 戻り値:
- 基数選択可能なデータ型であればtrue
- 導入されたバージョン:
- 0.8.0
- 関連項目:
isSelectableBaseType(),isSelectableArrayType()
-
isNormalType
public boolean isNormalType()
BMSデータ型が通常型であるかどうかを取得します。通常型とは
OBJECT以外の全てのデータ型が該当します。
つまり、isObjectType()とは常に逆の結果を返します。- 戻り値:
- BMSデータ型が通常型である場合はtrue
- 導入されたバージョン:
- 0.8.0
-
test
public boolean test(String data)
指定文字列が許容正規表現パターンにマッチするかどうかをテストします。- パラメータ:
data- テストする文字列- 戻り値:
- マッチする場合はtrue
- 例外:
NullPointerException- dataがnull
-
cast
public 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の表現可能範囲を超えた
-
-