パッケージ org.piax.common.attribs
クラス AttributeTable
java.lang.Object
org.piax.common.attribs.AttributeTable
public class AttributeTable extends Object
A class that corresponds to a table of attributes.
-
フィールドの概要
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 AttributeTable(PeerId peerId, ObjectId tableId) -
メソッドの概要
修飾子とタイプ メソッド 説明 voidbindOverlay(String attribName, TransportIdPath suffix)指定されたattribNameを持つAttributeに、 指定されたTransportIdPathをsuffixとして持ち、型の互換性のあるOverlayをbindさせる。voidclear()voiddeclareAttrib(String attribName)voiddeclareAttrib(String attribName, Class<?> type)AttributegetAttrib(String attribName)指定された名前を持つAttributeを取得する。Overlay<Destination,Key>getBindOverlay(String attribName)List<String>getDeclaredAttribNames()Set<RowData>getMatchedRows(String attribName, Object value)RowDatagetRow(Id rowId)指定されたrowIdを持つRowDataを取得する。List<RowData>getRows()voidinsertRow(RowData row)RowDataを挿入する。AttributenewAttribIfAbsent(String attribName)指定された名前を持つAttributeを取得する。RowDatanewRow(Id rowId)指定されたrowIdを持つRowDataを新たに生成する。RowDataremoveRow(Id rowId)booleansatisfies(RowData row, List<VarDestinationPair> conds)RowDatasetSuperRow(Id rowId)指定されたrowIdを持つRowDataをsuperRowとしてセットする。StringtoString()voidunbindOverlay(String attribName)voidunsetSuperRow()superRowをunsetする。
-
フィールド詳細
-
peerId
-
tableId
-
superRow
テーブルに一つ特別のrowの挿入を許す。 このrowの持つ属性値がマッチするとき、その属性がセットされていないすべてのrowがマッチの対象となる -
superRowLock
-
-
コンストラクタの詳細
-
メソッドの詳細
-
clear
public void clear() -
newAttribIfAbsent
指定された名前を持つAttributeを取得する。 もし、そのAttributeが存在しない場合は新規に作成する。- パラメータ:
attribName- 属性名- 戻り値:
- attribNameを持つAttribute
-
getAttrib
指定された名前を持つAttributeを取得する。 newAttribIfAbsentと違って、Attributeの作成は行わない。 そのAttributeが存在しない場合はnullが返される。- パラメータ:
attribName- 属性名- 戻り値:
- attribNameを持つAttribute、存在しない場合はnull
-
getDeclaredAttribNames
-
declareAttrib
-
declareAttrib
-
bindOverlay
public void bindOverlay(String attribName, TransportIdPath suffix) throws IllegalArgumentException, NoSuchOverlayException, IncompatibleTypeException指定されたattribNameを持つAttributeに、 指定されたTransportIdPathをsuffixとして持ち、型の互換性のあるOverlayをbindさせる。- パラメータ:
attribName- attribNamesuffix- suffixとして指定されたTransportIdPath- 例外:
IllegalArgumentException- 該当するAttributeが存在しない場合NoSuchOverlayException- 該当するOverlayが存在しない場合IncompatibleTypeException- 型の互換性が原因で候補が得られない場合
-
unbindOverlay
public void unbindOverlay(String attribName) throws IllegalArgumentException, IllegalStateException -
getBindOverlay
-
getMatchedRows
public Set<RowData> getMatchedRows(String attribName, Object value) throws IllegalArgumentException, IllegalStateException -
satisfies
-
setSuperRow
指定されたrowIdを持つRowDataをsuperRowとしてセットする。 すでにRowDataが存在する場合はIdConflictExceptionがthrowされる。- パラメータ:
rowId- rowId- 戻り値:
- superRow
- 例外:
IdConflictException- すでにsuperRowが存在する場合
-
unsetSuperRow
public void unsetSuperRow()superRowをunsetする。 -
newRow
指定されたrowIdを持つRowDataを新たに生成する。 すでにRowDataが存在する場合はIdConflictExceptionがthrowされる。- パラメータ:
rowId- rowId- 戻り値:
- rowIdを持つRowData
- 例外:
IdConflictException- すでにRowDataが存在する場合
-
insertRow
RowDataを挿入する。 すでに同じrowIdを持つRowDataが存在する場合はIdConflictExceptionがthrowされる。この挿入によって起こりうる不整合に注意する必要がある。 属性値を別に持つRowDataを新たにtableに挿入することで、属性名との不整合が起こりうる。 このため、Attributeに対してunboundなRowDataでないと挿入は許されない。
- パラメータ:
row- RowData- 例外:
IllegalStateException- RowDataがAttributeに対してunboundでない場合IdConflictException- すでに同じrowIdを持つRowDataが存在する場合
-
removeRow
-
getRow
指定されたrowIdを持つRowDataを取得する。 RowDataが存在しない場合はnullが返される。- パラメータ:
rowId- rowId- 戻り値:
- rowIdを持つRowData
-
getRows
-
toString
-