Custom folding classes moved to platform, other refactoring
[idea/community.git] / platform / lang-impl / src / com / intellij / lang / customFolding / CustomFoldingConfiguration.java
1 package com.intellij.lang.customFolding;
2
3 import com.intellij.openapi.components.*;
4 import com.intellij.openapi.project.Project;
5
6 /**
7  * @author Rustam Vishnyakov
8  */
9 @State(
10     name = "CustomFolding",
11     storages = {
12         @Storage( file = "$PROJECT_FILE$"),
13         @Storage( file = "$PROJECT_CONFIG_DIR$/customFolding.xml", scheme = StorageScheme.DIRECTORY_BASED)
14 })
15 public class CustomFoldingConfiguration implements PersistentStateComponent<CustomFoldingConfiguration.State> {
16   
17   private State myState = new State();
18   
19   public static CustomFoldingConfiguration getInstance(Project project) {
20     return ServiceManager.getService(project, CustomFoldingConfiguration.class);
21   }
22
23   @Override
24   public State getState() {
25     return myState;
26   }
27
28   @Override
29   public void loadState(State state) {
30     myState = state;
31   }
32
33   public static class State {
34
35     private String startFoldingPattern = "";
36     private String endFoldingPattern = "";
37     private String defaultCollapsedStatePattern = "";
38     private boolean isEnabled = false;
39
40     public String getDefaultCollapsedStatePattern() {
41       return defaultCollapsedStatePattern;
42     }
43
44     public void setDefaultCollapsedStatePattern(String defaultCollapsedStatePattern) {
45       this.defaultCollapsedStatePattern = defaultCollapsedStatePattern == null ? "" : defaultCollapsedStatePattern.trim();
46     }
47
48     public String getStartFoldingPattern() {
49       return startFoldingPattern;
50     }
51
52     public void setStartFoldingPattern(String startFoldingPattern) {
53       this.startFoldingPattern = startFoldingPattern == null ? "" : startFoldingPattern.trim();
54     }
55
56     public String getEndFoldingPattern() {
57       return endFoldingPattern;
58     }
59
60     public void setEndFoldingPattern(String endFoldingPattern) {
61       this.endFoldingPattern = endFoldingPattern == null ? "" : endFoldingPattern.trim();
62     }
63
64     public boolean isEnabled() {
65       return isEnabled;
66     }
67
68     public void setEnabled(boolean enabled) {
69       isEnabled = enabled;
70     }
71   }
72 }