aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/laria/code/idea_caseconv/settings/Settings.java
blob: 28f15b1a7b886808192935f2a9ac205f3f03816e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package me.laria.code.idea_caseconv.settings;

import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
import com.intellij.util.xmlb.XmlSerializerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

@State(
        name = "me.laria.code.idea_caseconv.SettingsState",
        storages = {@Storage("me_laria_code_idea_caseconv_plugin.xml")}
)
public class Settings implements PersistentStateComponent<Settings> {
    public NewlineMode newlineMode = NewlineMode.WHITESPACE;


    public static Settings getInstance() {
        return ServiceManager.getService(Settings.class);
    }

    @Nullable
    @Override
    public Settings getState() {
        return this;
    }

    @Override
    public void loadState(@NotNull Settings state) {
        XmlSerializerUtil.copyBean(state, this);
    }
}