|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.UUID
public final class UUID
不変の UUID (ユニバーサル固有識別) を表すクラスです。UUID は、128 ビット値を表します。
これらのグローバル識別子には、さまざまな形式が存在します。コンストラクタを使用すれば任意の形式の UUID を作成できますが、このクラスのメソッドは Leach-Salz 形式の操作用メソッドです。
形式 2 (Leach-Salz) UUID のレイアウトは、次のとおりです。 最上位の long は、次の符号なしフィールドで構成されます。
0xFFFFFFFF00000000 time_low 0x00000000FFFF0000 time_mid 0x000000000000F000 version 0x0000000000000FFF time_hi最下位の long は、次の符号なしフィールドで構成されます。
0xC000000000000000 variant 0x3FFF000000000000 clock_seq 0x0000FFFFFFFFFFFF node
variant フィールドには、UUID のレイアウトを識別する値が含まれます。前述のビット配列は、Leach-Salz 形式を示す形式値 2 を保持する UUID でのみ有効です。
version フィールドには、この UUID の型を示す値が含まれます。UUID には 4 種類の基本タイプがあります。時間ベース UUID、DCE セキュリティー UUID、名前ベース UUID、およびランダム生成 UUID です。これらの型は、version 値 1、2、3、および 4 をそれぞれ保持します。
UUID の作成に使用されるアルゴリズムなどの詳細については、「RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace」 のセクション 4.2「Algorithms for Creating a Time-Based UUID」を参照してください。
コンストラクタの概要 | |
---|---|
UUID(long mostSigBits,
long leastSigBits)
指定されたデータを使用して、新しい UUID を構築します。 |
メソッドの概要 | |
---|---|
int |
clockSequence()
この UUID に関連したクロックシーケンス値 14 ビットのクロックシーケンス値は、この UUID のクロックシーケンスフィールドから構築されます。 |
int |
compareTo(UUID val)
この UUID を指定された UUID と比較します。 |
boolean |
equals(Object obj)
このオブジェクトを指定されたオブジェクトと比較します。 |
static UUID |
fromString(String name)
文字列標準表現から UUID を作成します。 |
long |
getLeastSignificantBits()
この UUID の 128 ビット値の最下位 64 ビットを返します。 |
long |
getMostSignificantBits()
この UUID の 128 ビット値の最上位 64 ビットを返します。 |
int |
hashCode()
UUID のハッシュコードを返します。 |
static UUID |
nameUUIDFromBytes(byte[] name)
指定されたバイト配列に基づく、タイプ 3 (名前ベース) UUID 取得用の Static ファクトリ |
long |
node()
この UUID に関連したノード値 48 ビットのノード値は、この UUID のノードフィールドから構築されます。 |
static UUID |
randomUUID()
タイプ 4 (擬似ランダム生成) UUID を取得するための static ファクトリ。 |
long |
timestamp()
この UUID に関連したタイムスタンプ値 60 ビットのタイムスタンプ値が、この UUID の time_low、time_mid、および time_hi フィールドから構築されます。 |
String |
toString()
この UUID を表す String オブジェクトを返します。 |
int |
variant()
この UUID と関連付けられた形式番号。 |
int |
version()
この UUID と関連付けられたバージョン番号。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public UUID(long mostSigBits, long leastSigBits)
mostSigBits
- leastSigBits
- メソッドの詳細 |
---|
public static UUID randomUUID()
UUID
は、暗号強度の高い擬似乱数ジェネレータを使って生成されます。
public static UUID nameUUIDFromBytes(byte[] name)
name
- UUID の構築に使用するバイト配列
public static UUID fromString(String name)
toString()
メソッドを参照してください。
name
- UUID を指定する文字列
IllegalArgumentException
- 名前が toString()
の文字列表現に準拠していない場合public long getLeastSignificantBits()
public long getMostSignificantBits()
public int version()
public int variant()
public long timestamp()
60 ビットのタイムスタンプ値が、この UUID の time_low、time_mid、および time_hi フィールドから構築されます。結果として得られるタイムスタンプは、1582 年 10 月 15 日 UTC の夜半から 100 ナノ秒単位で計測された値になります。
タイムスタンプ値は、時間ベースの UUID (バージョンタイプ 1) でのみ有意性があります。 この UUID が時間ベースの UUID ではない場合、このメソッドは UnsupportedOperationException をスローします。
UnsupportedOperationException
- この UUID がバージョン 1 UUID ではない場合public int clockSequence()
14 ビットのクロックシーケンス値は、この UUID のクロックシーケンスフィールドから構築されます。クロックシーケンスフィールドは、時間ベース UUID の一時的な一意性を保証するために使用されます。
clockSequence 値は、時間ベースの UUID (バージョンタイプ 1) でのみ有意性があります。 この UUID が時間ベースの UUID ではない場合、このメソッドは UnsupportedOperationException をスローします。
UnsupportedOperationException
- この UUID がバージョン 1 UUID ではない場合public long node()
48 ビットのノード値は、この UUID のノードフィールドから構築されます。このフィールドは、空間の一意性を保証するため、この UUID を生成したマシンの IEEE 802 アドレスを保持することを目的としています。
ノード値は、時間ベースの UUID (バージョンタイプ 1) でのみ有意性があります。 この UUID が時間ベースの UUID ではない場合、このメソッドは UnsupportedOperationException をスローします。
UnsupportedOperationException
- この UUID がバージョン 1 UUID ではない場合public String toString()
UUID
を表す String
オブジェクトを返します。
UUID 文字列表現は、次の BNF で記述されるとおりです。
UUID = <time_low> "-" <time_mid> "-" <time_high_and_version> "-" <variant_and_sequence> "-" <node> time_low = 4*<hexOctet> time_mid = 2*<hexOctet> time_high_and_version = 2*<hexOctet> variant_and_sequence = 2*<hexOctet> node = 6*<hexOctet> hexOctet = <hexDigit><hexDigit> hexDigit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "b" | "c" | "d" | "e" | "f" | "A" | "B" | "C" | "D" | "E" | "F"
Object
内の toString
public int hashCode()
UUID
のハッシュコードを返します。
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
内の equals
obj
- 比較対象のオブジェクト
true
、そうでない場合は false
Object.hashCode()
,
Hashtable
public int compareTo(UUID val)
UUID が異なる最上位フィールドが最初の UUID より大きい場合、2 つの UUID のうち最初のものが 2 番目のものに続きます。
Comparable<UUID>
内の compareTo
val
- この UUID と比較する UUID
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。