/* * Copyright 2014 the original author or authors. * import org.springframework.web.patch.diffsync.PersistenceCallbackRegistry; import org.springframework.web.patch.diffsync.ShadowStore; * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.sync.diffsync.config; import org.springframework.sync.diffsync.PersistenceCallback; import org.springframework.sync.diffsync.PersistenceCallbackRegistry; import org.springframework.sync.diffsync.ShadowStore; import org.springframework.sync.diffsync.shadowstore.MapBasedShadowStore; /** * Configurer for DiffSync. * @author Craig Walls */ public interface DiffSyncConfigurer { /** * Override to add {@link PersistenceCallback}s. * @param registry a {@link PersistenceCallbackRegistry} to which {@link PersistenceCallback}s may be registered */ void addPersistenceCallbacks(PersistenceCallbackRegistry registry); /** * Override to set the {@link ShadowStore}. * For convenience, a {@link MapBasedShadowStore} will be the default, but should not be used in production applications. * @param remoteNodeId a unique identifier of the remote node that this shadow store is being created for. * @return a {@link ShadowStore} */ ShadowStore getShadowStore(String remoteNodeId); }