Cleanup (formatting)
[idea/community.git] / platform / projectModel-api / src / com / intellij / configurationStore / SettingsSavingComponent.kt
1 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package com.intellij.configurationStore
3
4 /**
5  * Service which implements this interfaces will be asked to [save] custom settings (in their own custom way)
6  * when application (for Application level services) or project (for Project level services) is invoked.
7  */
8 interface SettingsSavingComponent {
9   // not called in EDT
10   suspend fun save()
11 }
12
13 interface SettingsSavingComponentJavaAdapter : SettingsSavingComponent {
14   @JvmDefault
15   override suspend fun save() {
16     doSave()
17   }
18
19   fun doSave()
20 }