1 package com
.intellij
.ide
.fileTemplates
.actions
;
3 import com
.intellij
.openapi
.util
.Pair
;
4 import com
.intellij
.openapi
.util
.TextRange
;
5 import com
.intellij
.util
.containers
.HashMap
;
6 import org
.jetbrains
.annotations
.NotNull
;
7 import org
.jetbrains
.annotations
.Nullable
;
8 import org
.jetbrains
.annotations
.NonNls
;
13 * @author Roman Chernyatchik
15 public class AttributesDefaults
{
16 private final String myDefaultName
;
17 private final TextRange myDefaultRange
;
18 private final Map
<String
, Pair
<String
, TextRange
>> myNamesToValueAndRangeMap
= new HashMap
<String
, Pair
<String
, TextRange
>>();
20 public AttributesDefaults(@NonNls @Nullable final String defaultName
,
21 @Nullable final TextRange defaultRange
) {
22 myDefaultName
= defaultName
;
23 myDefaultRange
= defaultRange
;
26 public AttributesDefaults(@NonNls @Nullable final String defaultName
) {
27 this(defaultName
, null);
30 public AttributesDefaults() {
35 public String
getDefaultFileName() {
39 public TextRange
getDefaultFileNameSelection() {
40 return myDefaultRange
;
43 public void add(@NonNls @NotNull final String attributeKey
,
44 @NonNls @NotNull final String value
,
45 @Nullable final TextRange selectionRange
) {
46 myNamesToValueAndRangeMap
.put(attributeKey
, new Pair
<String
, TextRange
>(value
, selectionRange
));
49 public void add(@NonNls @NotNull final String attributeKey
,
50 @NonNls @NotNull final String value
) {
51 add(attributeKey
, value
, null);
55 public TextRange
getRangeFor(@NonNls @NotNull final String attributeKey
) {
56 final Pair
<String
, TextRange
> valueAndRange
= myNamesToValueAndRangeMap
.get(attributeKey
);
57 return valueAndRange
== null ?
null : valueAndRange
.second
;
61 public String
getDefaultValueFor(@NonNls @NotNull final String attributeKey
) {
62 final Pair
<String
, TextRange
> valueAndRange
= myNamesToValueAndRangeMap
.get(attributeKey
);
63 return valueAndRange
== null ?
null : valueAndRange
.first
;