Class SettingsService
java.lang.Object
ai.nervemind.app.service.SettingsService
- All Implemented Interfaces:
ai.nervemind.common.service.SettingsServiceInterface
@Service
@Transactional
public class SettingsService
extends Object
implements ai.nervemind.common.service.SettingsServiceInterface
Service for managing application settings.
Provides caching, validation, and change notification.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ai.nervemind.common.service.SettingsServiceInterface
ai.nervemind.common.service.SettingsServiceInterface.SettingsChangeListener -
Constructor Summary
ConstructorsConstructorDescriptionSettingsService(SettingRepository settingRepository, EncryptionService encryptionService, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Creates a new settings service. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChangeListener(ai.nervemind.common.service.SettingsServiceInterface.SettingsChangeListener listener) List<ai.nervemind.common.dto.SettingDTO> findAll()List<ai.nervemind.common.dto.SettingDTO> List<ai.nervemind.common.dto.SettingDTO> findByCategory(ai.nervemind.common.enums.SettingCategory category) Optional<ai.nervemind.common.dto.SettingDTO> booleangetBoolean(String key, boolean defaultValue) doubleintlongvoidimportFromJson(String json) voidinit()Initializes the settings service after construction.voidvoidremoveChangeListener(ai.nervemind.common.service.SettingsServiceInterface.SettingsChangeListener listener) voidList<ai.nervemind.common.dto.SettingDTO> resetCategoryToDefaults(ai.nervemind.common.enums.SettingCategory category) ai.nervemind.common.dto.SettingDTOresetToDefault(String key) List<ai.nervemind.common.dto.SettingDTO> ai.nervemind.common.dto.SettingDTOList<ai.nervemind.common.dto.SettingDTO>
-
Constructor Details
-
SettingsService
public SettingsService(SettingRepository settingRepository, EncryptionService encryptionService, com.fasterxml.jackson.databind.ObjectMapper objectMapper) Creates a new settings service.- Parameters:
settingRepository- the repository for setting persistenceencryptionService- the service for encrypting sensitive settingsobjectMapper- the ObjectMapper for JSON serialization
-
-
Method Details
-
init
@PostConstruct public void init()Initializes the settings service after construction. Loads default settings and populates the cache. -
initializeDefaults
public void initializeDefaults()- Specified by:
initializeDefaultsin interfaceai.nervemind.common.service.SettingsServiceInterface
-
findAll
- Specified by:
findAllin interfaceai.nervemind.common.service.SettingsServiceInterface
-
findAllVisible
- Specified by:
findAllVisiblein interfaceai.nervemind.common.service.SettingsServiceInterface
-
findByCategory
@Transactional(readOnly=true) public List<ai.nervemind.common.dto.SettingDTO> findByCategory(ai.nervemind.common.enums.SettingCategory category) - Specified by:
findByCategoryin interfaceai.nervemind.common.service.SettingsServiceInterface
-
findByKey
-
getValue
-
getBoolean
- Specified by:
getBooleanin interfaceai.nervemind.common.service.SettingsServiceInterface
-
getInt
- Specified by:
getIntin interfaceai.nervemind.common.service.SettingsServiceInterface
-
getLong
- Specified by:
getLongin interfaceai.nervemind.common.service.SettingsServiceInterface
-
getDouble
- Specified by:
getDoublein interfaceai.nervemind.common.service.SettingsServiceInterface
-
setValue
-
setValues
-
resetToDefault
- Specified by:
resetToDefaultin interfaceai.nervemind.common.service.SettingsServiceInterface
-
resetCategoryToDefaults
public List<ai.nervemind.common.dto.SettingDTO> resetCategoryToDefaults(ai.nervemind.common.enums.SettingCategory category) - Specified by:
resetCategoryToDefaultsin interfaceai.nervemind.common.service.SettingsServiceInterface
-
resetAllToDefaults
public void resetAllToDefaults()- Specified by:
resetAllToDefaultsin interfaceai.nervemind.common.service.SettingsServiceInterface
-
search
-
exportAsJson
- Specified by:
exportAsJsonin interfaceai.nervemind.common.service.SettingsServiceInterface
-
importFromJson
- Specified by:
importFromJsonin interfaceai.nervemind.common.service.SettingsServiceInterface
-
addChangeListener
public void addChangeListener(ai.nervemind.common.service.SettingsServiceInterface.SettingsChangeListener listener) - Specified by:
addChangeListenerin interfaceai.nervemind.common.service.SettingsServiceInterface
-
removeChangeListener
public void removeChangeListener(ai.nervemind.common.service.SettingsServiceInterface.SettingsChangeListener listener) - Specified by:
removeChangeListenerin interfaceai.nervemind.common.service.SettingsServiceInterface
-