mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
persisting_state_of_components.md: Make it more clear that components are services (and promote light-services)
This commit is contained in:
parent
62af21d9f7
commit
f7ca5c12f5
@ -37,6 +37,7 @@ In addition, delegates track property modifications internally, which help decre
|
||||
It is recommended to create a separate classes for a component and its state:
|
||||
|
||||
```kotlin
|
||||
@Service
|
||||
@State(...)
|
||||
class MySettings : SimplePersistentStateComponent<MyState>(MyState())
|
||||
|
||||
@ -57,6 +58,7 @@ In this case, the state class instance is typically stored as a field in the `Pe
|
||||
When the state is loaded from the storage, it is assigned to the state field (see `loadState()`):
|
||||
|
||||
```java
|
||||
@Service
|
||||
@State(...)
|
||||
class MySettings implements PersistentStateComponent<MySettings.State> {
|
||||
|
||||
@ -85,6 +87,7 @@ Using a separate state class is the recommended approach.
|
||||
In this case, `getState()` returns the component itself, and `loadState()` copies properties of the state loaded from storage to the component instance:
|
||||
|
||||
```java
|
||||
@Service
|
||||
@State(...)
|
||||
class MySettings implements PersistentStateComponent<MySettings> {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user