public ChangeBuilder merge(Change change) { if (change == null) { return this; } checkArgument(_changeId.equals(change.getId())); if (change.getDelta() != null) { _delta = change.getDelta(); } if (change.getCompaction() != null) { _compaction = change.getCompaction(); } if (change.getHistory() != null) { _history = change.getHistory(); } return this; }
public Change build() { return new Change(_changeId, _delta, _compaction, _history, _tags); } }
public static Change merge(Change change1, Change change2) { checkArgument(change1 != null || change2 != null); if (change1 == null) { return change2; } else if (change2 == null) { return change1; } else { return new ChangeBuilder(change1.getId()) .merge(change1) .merge(change2) .build(); } }
@Override protected Change computeNext() { if (_iter1.hasNext() && _iter2.hasNext()) { UUID id1 = _iter1.peek().getId(); UUID id2 = _iter2.peek().getId(); UUID minId = _ordering.min(id1, id2); ChangeBuilder builder = new ChangeBuilder(minId); if (minId.equals(id1)) { builder.merge(_iter1.next()); } if (minId.equals(id2)) { builder.merge(_iter2.next()); } return builder.build(); } else if (_iter1.hasNext()) { return _iter1.next(); } else if (_iter2.hasNext()) { return _iter2.next(); } else { return endOfData(); } } }
@Override protected Change computeNext() { if (_iter1.hasNext() && _iter2.hasNext()) { UUID id1 = _iter1.peek().getId(); UUID id2 = _iter2.peek().getId(); UUID minId = _ordering.min(id1, id2); ChangeBuilder builder = new ChangeBuilder(minId); if (minId.equals(id1)) { builder.merge(_iter1.next()); } if (minId.equals(id2)) { builder.merge(_iter2.next()); } return builder.build(); } else if (_iter1.hasNext()) { return _iter1.next(); } else if (_iter2.hasNext()) { return _iter2.next(); } else { return endOfData(); } } }
public static Change just(UUID changeId, Compaction compaction) { return new Change(changeId, null, compaction, null, null); }
public static Change just(UUID changeId, Delta delta) { return new Change(changeId, delta, null, null, null); }
public static Change just(UUID changeId, Delta delta, Set<String> tags) { return new Change(changeId, delta, null, null, tags); }