put method
RT
put(
- VT value
PK...primary key VT...vlaue type RT... return type
value を追加 もしくは 上書き する.
put によって RosterPatternExceptionA は発生しない.
なので 呼び出し元は これを throw out する必要がある.
Implementation
RT put(VT value) {
final List<VT> list = [];
bool flag = true;
for (final e in values) {
if (e.primaryKey == value.primaryKey) {
list.add(value);
flag = false;
} else {
list.add(e);
}
}
// 同じ primary key をもったものが存在しない場合 最後に value を追加する.
if (flag) list.add(value);
return internalFactory(list);
}