Package it.tidalwave.util
Interface PreferencesHandler
-
public interface PreferencesHandler- Author:
- Fabrizio Giudici
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String__BASE_NAMEstatic java.util.concurrent.atomic.AtomicReference<PreferencesHandler>__INSTANCEstatic it.tidalwave.util.Key<java.lang.Boolean>KEY_FULL_SCREENWhether the application should start at full screen.static it.tidalwave.util.Key<java.lang.Double>KEY_INITIAL_SIZEA property representing the initial main window size as a percentual of the screen size.static java.lang.StringPROP_APP_NAME
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description java.nio.file.PathgetAppFolder()static PreferencesHandlergetInstance()main() probably needs it and dI has not booted yet, so this class can be accessed also by this factory method.java.nio.file.PathgetLogFolder()<T> java.util.Optional<T>getProperty(it.tidalwave.util.Key<T> name)Gets a property.static voidsetAppName(java.lang.String name)Sets the application name.<T> voidsetDefaultProperty(it.tidalwave.util.Key<T> name, T value)Sets a property, unless it has been already set.<T> voidsetProperty(it.tidalwave.util.Key<T> name, T value)Sets a property, overriding the current value.
-
-
-
Field Detail
-
PROP_APP_NAME
static final java.lang.String PROP_APP_NAME
-
__BASE_NAME
static final java.lang.String __BASE_NAME
- See Also:
- Constant Field Values
-
__INSTANCE
static final java.util.concurrent.atomic.AtomicReference<PreferencesHandler> __INSTANCE
-
KEY_INITIAL_SIZE
static final it.tidalwave.util.Key<java.lang.Double> KEY_INITIAL_SIZE
A property representing the initial main window size as a percentual of the screen size.
-
KEY_FULL_SCREEN
static final it.tidalwave.util.Key<java.lang.Boolean> KEY_FULL_SCREEN
Whether the application should start at full screen.
-
-
Method Detail
-
getAppFolder
@Nonnull java.nio.file.Path getAppFolder()
-
getLogFolder
@Nonnull java.nio.file.Path getLogFolder()
-
setAppName
static void setAppName(@Nonnull java.lang.String name)Sets the application name. This method must be called at boot from themainmethod before doing anything else.- Parameters:
name- the property name
-
getProperty
@Nonnull <T> java.util.Optional<T> getProperty(@Nonnull it.tidalwave.util.Key<T> name)Gets a property.- Type Parameters:
T- the property type- Parameters:
name- the property name- Returns:
- the property value
-
setProperty
<T> void setProperty(@Nonnull it.tidalwave.util.Key<T> name, @Nonnull T value)Sets a property, overriding the current value.- Type Parameters:
T- the property type- Parameters:
name- the property namevalue- the property value
-
setDefaultProperty
<T> void setDefaultProperty(@Nonnull it.tidalwave.util.Key<T> name, @Nonnull T value)Sets a property, unless it has been already set.- Type Parameters:
T- the property type- Parameters:
name- the property namevalue- the property value
-
getInstance
@Nonnull static PreferencesHandler getInstance()
main() probably needs it and dI has not booted yet, so this class can be accessed also by this factory method. Note that Spring instantiates the bean by calling this method, so we really have a singleton.
-
-