package com.yoursway.model.repository; import java.util.HashMap; import java.util.Map; import com.yoursway.model.timeline.PointInTime; public class SimpleSnapshotStorage implements ISnapshotStorage { private final Map<Class<?>, PerModelStorage> storages = new HashMap<Class<?>, PerModelStorage>(); public SimpleSnapshotStorage() { } public ISnapshot getLast(Class<?> modelRoot, PointInTime point) { PerModelStorage perModelStorage = storages.get(modelRoot); if (perModelStorage == null) return null; return perModelStorage.getLast(point); } public ISnapshot getLastAccessible(Class<?> modelRoot, PointInTime point) { PerModelStorage perModelStorage = storages.get(modelRoot); if (perModelStorage == null) return null; return perModelStorage.getLastAccessible(point); } public void pushSnapshot(Class<?> modelRoot, PointInTime point, ISnapshotBuilder snapshotBuilder) { PerModelStorage perModelStorage = storages.get(modelRoot); if (perModelStorage == null) { perModelStorage = new PerModelStorage(modelRoot); storages.put(modelRoot, perModelStorage); } perModelStorage.pushSnapshot(point, snapshotBuilder); } public void disposeResolver(IResolver resolver) { // TODO Auto-generated method stub } public void registerResolver(IResolver resolver, PointInTime point) { // TODO Auto-generated method stub } }