001package io.ebean; 002 003import java.util.Set; 004 005/** 006 * Options used to control a merge. Use MergeOptionsBuilder to create an instance. 007 * <p> 008 * Instances of MergeOptions are thread safe and safe to share across threads. 009 */ 010public interface MergeOptions { 011 012 /** 013 * Returns true if Id values are supplied by the client. 014 * <p> 015 * This would be the case when for example a mobile creates data in it's own local database 016 * and then sync's. In this case often the id values are UUID. 017 */ 018 boolean isClientGeneratedIds(); 019 020 /** 021 * Return true if delete permanent should be used and false for 'normal' delete that allows soft deletes. 022 */ 023 boolean isDeletePermanent(); 024 025 /** 026 * Return the paths included in the merge. 027 */ 028 Set<String> paths(); 029}