IDEA-252930 - allow batch update in the case when option 'Convert silently' or 'Do...
[idea/community.git] / platform / projectModel-api / src / com / intellij / configurationStore / SaveSessionProducer.kt
1 // Copyright 2000-2019 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 import java.io.IOException
5
6 interface SaveSession : StorageManagerFileWriteRequestor {
7   @Throws(IOException::class)
8   fun save()
9 }
10
11 interface SaveSessionProducer : StorageManagerFileWriteRequestor {
12   @Throws(IOException::class)
13   fun setState(component: Any?, componentName: String, state: Any?)
14
15   /**
16    * return null if nothing to save
17    */
18   fun createSaveSession(): SaveSession?
19 }
20
21 /**
22  * A marker interface for [FileUndoProvider] to not process this file change event.
23  */
24 interface StorageManagerFileWriteRequestor