package sk.stuba.fiit.perconik.preferences;
import static sk.stuba.fiit.perconik.preferences.AbstractPreferences.Keys.join;
import static sk.stuba.fiit.perconik.preferences.plugin.Activator.PLUGIN_ID;
/**
* Main preferences. Supports both <i>default</i>
* and <i>instance</i> (actually used and stored) scopes.
*
* @author Pavol Zbell
* @since 1.0
*/
public final class MainPreferences extends AbstractPreferences {
static final String qualifier = join(PLUGIN_ID, "main");
private MainPreferences(final Scope scope) {
super(scope, qualifier);
}
/**
* Used to aid in default main preferences initialization.
*
* <p><b>Warning:</b> Users should not explicitly instantiate this class.
*
* @author Pavol Zbell
* @since 1.0
*/
public static final class Initializer extends AbstractPreferences.Initializer {
/**
* The constructor.
*/
public Initializer() {}
/**
* Called by the preference initializer to
* initialize default main preferences.
*
* <p><b>Warning:</b> Clients should not call this method.
* It will be called automatically by the preference initializer
* when the appropriate default preference node is accessed.
*/
@Override
public void initializeDefaultPreferences() {}
}
public static final class Keys extends AbstractPreferences.Keys {
}
/**
* Gets default scoped core preferences.
*/
public static MainPreferences getDefault() {
return new MainPreferences(Scope.DEFAULT);
}
/**
* Gets configuration scoped core preferences.
*/
public static MainPreferences getShared() {
return new MainPreferences(Scope.CONFIGURATION);
}
}