パッケージ org.piax.common
クラス Id
java.lang.Object
org.piax.common.Id
- すべての実装されたインタフェース:
Serializable,Comparable<Id>
public class Id extends Object implements Serializable, Comparable<Id>
任意長のbyte列、または ASCII文字列からなる Identifierを実現するImmutableクラス。
Idオブジェクトの生成時には、byte列またはASCII文字列を指定する。 ASCII文字列を指定した場合でも、内部的にはbyte列に変換して管理する。 toStringメソッドを使うことで、指定したASCII文字列の表現を取得できる。 但し、ASCII文字列を指定しないで直接byte列を指定した場合でも、そのbyte列が7bitの ASCII列である場合は、toStringは、ASCII文字列の表現を返す。
newIdメソッドを使うと長さを指定したランダムなbyte列を持つIdオブジェクトを生成できる。 immutableなオブジェクトとして振舞う。
- 関連項目:
- 直列化された形式
-
フィールドの概要
-
コンストラクタの概要
-
メソッドの概要
修飾子とタイプ メソッド 説明 byte[]_getBytes()Idオブジェクトの内部表現であるbyte列を返す。intcommonPostfixLen(Id id)intcommonPrefixLen(Id id)intcompareTo(Id id)booleanequals(Object o)intgetByteLen()byte[]getBytes()Idオブジェクトの内部表現であるbyte列を返す。inthashCode()static IdnewId(int len)指定された長さのランダムなbyte列を持つIdオブジェクトを生成する。protected static byte[]newRandomBytes(int len)指定された長さのランダムなbyte列を生成する。booleantestBit(int ix)StringtoBinaryString()Idを2進表記した文字列を返す。StringtoHexString()Idを16進表記した文字列を返す。StringtoString()Idの文字列表現を返す。
-
フィールド詳細
-
コンストラクタの詳細
-
Id
public Id(byte[] bytes)指定されたbyte列を値として持つIdオブジェクトを生成する。- パラメータ:
bytes- byte列
-
Id
指定された文字列を値として持つIdオブジェクトを生成する。 指定された文字列は7bit ASCII文字列でないといけない。- パラメータ:
str- 文字列- 例外:
IllegalArgumentException- ASCII文字列でない場合
-
-
メソッドの詳細
-
newRandomBytes
protected static byte[] newRandomBytes(int len)指定された長さのランダムなbyte列を生成する。 サブクラスでの使用を前提とする。- パラメータ:
len- byte列の長さ- 戻り値:
- 長さlenのランダムなbyte列
-
newId
指定された長さのランダムなbyte列を持つIdオブジェクトを生成する。- パラメータ:
len- byte列の長さ- 戻り値:
- 長さlenのランダムなbyte列を持つIdオブジェクト
-
getBytes
public byte[] getBytes()Idオブジェクトの内部表現であるbyte列を返す。 返り値であるbyte列が変更されてもよいように、ここでは内部表現のbyte列のコピーを返す。- 戻り値:
- Idオブジェクトの内部表現であるbyte列
-
_getBytes
public byte[] _getBytes()Idオブジェクトの内部表現であるbyte列を返す。 内部で保持するbyte列をコピーせずにそのまま返すので、このメソッドを使う側ではbyte列の内容を 変更しないよう配慮する必要がある。- 戻り値:
- Idオブジェクトの内部表現であるbyte列
-
getByteLen
public int getByteLen() -
testBit
public boolean testBit(int ix) -
commonPostfixLen
-
commonPrefixLen
-
hashCode
public int hashCode() -
equals
-
compareTo
- 定義:
compareToインタフェース内Comparable<Id>
-
toBinaryString
Idを2進表記した文字列を返す。 文字列表現において、byteの切れ目には"_"が挿入される。- 戻り値:
- Idを2進表記した文字列
-
toHexString
Idを16進表記した文字列を返す。- 戻り値:
- Idを16進表記した文字列
-
toString
Idの文字列表現を返す。文字列を元にIdオブジェクトが生成されている場合は、元の文字列を返す。 Idの持つbyte列が7bitのASCII列である場合も文字列として返す。 それ以外の場合は、16進数の表現で返す。
-