voldemort.versioning
Interface InconsistencyResolver<T>

All Known Implementing Classes:
ArbitraryInconsistencyResolver, ChainedResolver, FailingInconsistencyResolver, MergingInconsistencyResolver, TimeBasedInconsistencyResolver, VectorClockInconsistencyResolver

public interface InconsistencyResolver<T>

A method for resolving inconsistent object values into a single value. Applications can implement this to provide a method for reconciling conflicts that cannot be resolved simply by the version information.


Method Summary
 java.util.List<T> resolveConflicts(java.util.List<T> items)
          Take two different versions of an object and combine them into a single version of the object Implementations must maintain the contract that resolveConflict([null, null]) == null if t != null, then resolveConflict([null, t]) == resolveConflict([t, null]) == t
 

Method Detail

resolveConflicts

java.util.List<T> resolveConflicts(java.util.List<T> items)
Take two different versions of an object and combine them into a single version of the object Implementations must maintain the contract that
  1. resolveConflict([null, null]) == null
  2. if t != null, then resolveConflict([null, t]) == resolveConflict([t, null]) == t
  3. Parameters:
    items - The items to be resolved
    Returns:
    The united object


Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu