package com.yoursway.model.repository;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import com.yoursway.model.tracking.CompleteTrackedSnapshot;
import com.yoursway.model.tracking.TrackedSnapshot;
public class SnapshotBuilder {
private final TrackedSnapshot snapshot = new CompleteTrackedSnapshot();
private final Set<IHandle<?>> changedHandles = new HashSet<IHandle<?>>();
private final Set<IModelElement> addedElements = new HashSet<IModelElement>();
public <T> void put(IHandle<T> handle, T value) {
snapshot.put(handle, value);
changedHandles.add(handle);
}
public void added(IModelElement element) {
addedElements.add(element);
}
/*
* (non-Javadoc)
*
* @see com.yoursway.model.resource.internal.ISnapshotBuilder#getSnapshot()
*/
public TrackedSnapshot getSnapshot() {
return snapshot;
}
public Set<IHandle<?>> getChangedHandles() {
return changedHandles;
}
public Set<IModelElement> getAddedElements() {
return addedElements;
}
public Set<IModelElement> getRemovedElements() {
return Collections.<IModelElement> emptySet();
}
}