All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sshtools.jaul.AutoPreferenceBasedUpdateableAppContext Maven / Gradle / Ivy

package com.sshtools.jaul;

import java.util.Optional;
import java.util.concurrent.ScheduledExecutorService;
import java.util.prefs.Preferences;

public class AutoPreferenceBasedUpdateableAppContext extends PreferenceBasedUpdateableAppContext {

	private boolean automaticUpdatesDefault;

	public AutoPreferenceBasedUpdateableAppContext(Preferences preferences, Optional defaultPhase,
			String version, ScheduledExecutorService scheduler, boolean automaticUpdatesDefault) {
		super(preferences, defaultPhase, version, Optional.ofNullable(scheduler));
		this.automaticUpdatesDefault = automaticUpdatesDefault;
	}

	@Override
	public boolean isAutomaticUpdates() {
		return getPreferences().getBoolean(AppRegistry.KEY_AUTOMATIC_UPDATES, automaticUpdatesDefault);
	}

	@Override
	public void setAutomaticUpdates(boolean automaticUpdates) {
		getPreferences().putBoolean(AppRegistry.KEY_AUTOMATIC_UPDATES, automaticUpdates);
	}

	@Override
	public void setUpdatesDeferredUntil(long timeMs) {
		getPreferences().putLong(AppRegistry.KEY_DEFER, timeMs);
	}

	@Override
	public long getUpdatesDeferredUntil() {
		return getPreferences().getLong(AppRegistry.KEY_DEFER, 0);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy