/** * Returns a new {@link ExternalCacheSettings} instance configured using the supplied settings. * * @return a new {@link ExternalCacheSettings} instance configured using the supplied settings. */ public ExternalCacheSettings build() { return new ExternalCacheSettings( defaultTtl, entryCountHint, dataChangeRateHint, entryGrowthRateHint); }
/** * Returns a new {@link ExternalCacheSettings} instance where the current settings * are overridden with settings specified in <tt>overrides</tt>. * * @param overrides contains the settings to override * @return a new {@link ExternalCacheSettings} instance with the <tt>overrides</tt> settings applied. */ public ExternalCacheSettings override(ExternalCacheSettings overrides) { return new ExternalCacheSettings( ifPresent(overrides.getDefaultTtl(), getDefaultTtl()), ifPresent(overrides.getEntryCountHint(), getEntryCountHint()), ifPresent(overrides.getDataChangeRateHint(), getDataChangeRateHint()), ifPresent(overrides.getEntryGrowthRateHint(), getEntryGrowthRateHint())); }