Make MODULE_FILE optional
[idea/community.git] / platform / configuration-store-impl / src / com / intellij / configurationStore / ProjectFileStorageAnnotation.java
1 package com.intellij.configurationStore;
2
3 import com.intellij.openapi.components.*;
4 import org.jetbrains.annotations.NotNull;
5
6 import java.lang.annotation.Annotation;
7
8 @SuppressWarnings("ClassExplicitlyAnnotation")
9 final class ProjectFileStorageAnnotation implements Storage {
10   private String path;
11
12   private boolean deprecated;
13
14   ProjectFileStorageAnnotation(String path, boolean deprecated) {
15     this.path = path;
16     this.deprecated = deprecated;
17   }
18
19   @Override
20   public String id() {
21     return "default";
22   }
23
24   @Override
25   public String file() {
26     return value();
27   }
28
29   @Override
30   public String value() {
31     return path;
32   }
33
34   @Override
35   public StorageScheme scheme() {
36     return StorageScheme.DEFAULT;
37   }
38
39   @Override
40   public boolean deprecated() {
41     return deprecated;
42   }
43
44   @Override
45   public RoamingType roamingType() {
46     return RoamingType.DEFAULT;
47   }
48
49   @Override
50   public Class<? extends StateStorage> storageClass() {
51     return StateStorage.class;
52   }
53
54   @Override
55   public Class<StateSplitterEx> stateSplitter() {
56     return StateSplitterEx.class;
57   }
58
59   @NotNull
60   @Override
61   public Class<? extends Annotation> annotationType() {
62     throw new UnsupportedOperationException("Method annotationType not implemented in " + getClass());
63   }
64 }