Interface ISettingsModule

All Superinterfaces:
IBuildingModule, ICommonSettingsModule, IHasDirty
All Known Implementing Classes:
SettingsModule

public interface ISettingsModule extends IBuildingModule, ICommonSettingsModule
Settings module interface.
  • Method Details

    • with

      ISettingsModule with(ISettingKey<?> key, ISetting<?> setting)
      Register a new setting.
      Parameters:
      key - the key of the setting.
      setting - the setting.
      Returns:
      the instance of the module.
    • getOptionalSetting

      @NotNull <T extends ISetting<?>> @NotNull Optional<T> getOptionalSetting(ISettingKey<T> key)
      Get a specific setting.
      Type Parameters:
      T - the type of setting.
      Parameters:
      key - the key of the setting.
      Returns:
      the setting, if it exists and is active.
    • getSettingValueOrDefault

      <S, T extends ISetting<S>> S getSettingValueOrDefault(ISettingKey<T> key, S def)
      Get setting value or default.
      Type Parameters:
      S - the setting value type.
      T - the type of setting.
      Parameters:
      key - the key of the setting.
      def - the default.
      Returns:
      the setting value or the default.