public class AttributeTable extends Object
| 修飾子とタイプ | フィールドと説明 |
|---|---|
PeerId |
peerId |
RowData |
superRow
テーブルに一つ特別のrowの挿入を許す。
|
Object |
superRowLock |
ObjectId |
tableId |
| コンストラクタと説明 |
|---|
AttributeTable(PeerId peerId,
ObjectId tableId) |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
bindOverlay(String attribName,
TransportIdPath suffix)
指定されたattribNameを持つAttributeに、
指定されたTransportIdPathをsuffixとして持ち、型の互換性のあるOverlayをbindさせる。
|
void |
clear() |
void |
declareAttrib(String attribName) |
void |
declareAttrib(String attribName,
Class<?> type) |
Attribute |
getAttrib(String attribName)
指定された名前を持つAttributeを取得する。
|
Overlay<Destination,Key> |
getBindOverlay(String attribName) |
List<String> |
getDeclaredAttribNames() |
Set<RowData> |
getMatchedRows(String attribName,
Object value) |
RowData |
getRow(Id rowId)
指定されたrowIdを持つRowDataを取得する。
|
List<RowData> |
getRows() |
void |
insertRow(RowData row)
RowDataを挿入する。
|
Attribute |
newAttribIfAbsent(String attribName)
指定された名前を持つAttributeを取得する。
|
RowData |
newRow(Id rowId)
指定されたrowIdを持つRowDataを新たに生成する。
|
RowData |
removeRow(Id rowId) |
boolean |
satisfies(RowData row,
List<VarDestinationPair> conds) |
RowData |
setSuperRow(Id rowId)
指定されたrowIdを持つRowDataをsuperRowとしてセットする。
|
String |
toString() |
void |
unbindOverlay(String attribName) |
void |
unsetSuperRow()
superRowをunsetする。
|
public final PeerId peerId
public final ObjectId tableId
public RowData superRow
public Object superRowLock
public void clear()
public Attribute newAttribIfAbsent(String attribName)
attribName - 属性名public Attribute getAttrib(String attribName)
attribName - 属性名public void declareAttrib(String attribName) throws IllegalStateException
public void declareAttrib(String attribName, Class<?> type) throws IllegalStateException
public void bindOverlay(String attribName, TransportIdPath suffix) throws IllegalArgumentException, NoSuchOverlayException, IncompatibleTypeException
attribName - attribNamesuffix - suffixとして指定されたTransportIdPathIllegalArgumentException - 該当するAttributeが存在しない場合NoSuchOverlayException - 該当するOverlayが存在しない場合IncompatibleTypeException - 型の互換性が原因で候補が得られない場合public void unbindOverlay(String attribName) throws IllegalArgumentException, IllegalStateException
public Overlay<Destination,Key> getBindOverlay(String attribName) throws IllegalArgumentException
public Set<RowData> getMatchedRows(String attribName, Object value) throws IllegalArgumentException, IllegalStateException
public boolean satisfies(RowData row, List<VarDestinationPair> conds)
public RowData setSuperRow(Id rowId) throws IdConflictException
rowId - rowIdIdConflictException - すでにsuperRowが存在する場合public void unsetSuperRow()
public RowData newRow(Id rowId) throws IdConflictException
rowId - rowIdIdConflictException - すでにRowDataが存在する場合public void insertRow(RowData row) throws IllegalStateException, IdConflictException
この挿入によって起こりうる不整合に注意する必要がある。 属性値を別に持つRowDataを新たにtableに挿入することで、属性名との不整合が起こりうる。 このため、Attributeに対してunboundなRowDataでないと挿入は許されない。
row - RowDataIllegalStateException - RowDataがAttributeに対してunboundでない場合IdConflictException - すでに同じrowIdを持つRowDataが存在する場合public RowData getRow(Id rowId)
rowId - rowIdCopyright © 2017. All rights reserved.