blob: 8cb0a0f6e87b1c3cdbdb21790ecb161c57a32d9d [file] [log] [blame]
/*
* Copyright 2000-2011 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.cvsSupport2.keywordSubstitution;
import com.intellij.CvsBundle;
import org.netbeans.lib.cvsclient.command.KeywordSubstitution;
import javax.swing.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* author: lesya
*/
public class KeywordSubstitutionWrapper {
private final KeywordSubstitution myKeywordSubstitution;
private final String myDisplayName;
public static final KeywordSubstitutionWrapper KEYWORD_EXPANSION = new KeywordSubstitutionWrapper(KeywordSubstitution.KEYWORD_EXPANSION, CvsBundle.message("keyword.substitution.expansion"));
public static final KeywordSubstitutionWrapper KEYWORD_EXPANSION_LOCKER = new KeywordSubstitutionWrapper(KeywordSubstitution.KEYWORD_EXPANSION_LOCKER, CvsBundle.message("keyword.substitution.expansion.locker"));
public static final KeywordSubstitutionWrapper KEYWORD_COMPRESSION = new KeywordSubstitutionWrapper(KeywordSubstitution.KEYWORD_COMPRESSION, CvsBundle.message("keyword.substitution.compression"));
public static final KeywordSubstitutionWrapper NO_SUBSTITUTION = new KeywordSubstitutionWrapper(KeywordSubstitution.NO_SUBSTITUTION, CvsBundle.message("keyword.substitution.no.substitution"));
public static final KeywordSubstitutionWrapper BINARY = new KeywordSubstitutionWrapper(KeywordSubstitution.BINARY, CvsBundle.message("keyword.substitution.binary"));
public static final KeywordSubstitutionWrapper KEYWORD_REPLACEMENT = new KeywordSubstitutionWrapper(KeywordSubstitution.KEYWORD_REPLACEMENT, CvsBundle.message("keyword.substitution.replacement"));
private static List<KeywordSubstitutionWrapper> values = null;
private KeywordSubstitutionWrapper(KeywordSubstitution keywordSubstitution, String displayName) {
myKeywordSubstitution = keywordSubstitution;
myDisplayName = displayName;
}
public KeywordSubstitution getSubstitution() {
return myKeywordSubstitution;
}
public String toString() {
return myDisplayName;
}
public static KeywordSubstitutionWrapper getValue(String substitution) {
final KeywordSubstitution keywordSubstitution = KeywordSubstitution.getValue(substitution);
return getValue(keywordSubstitution);
}
public static KeywordSubstitutionWrapper getValue(KeywordSubstitution substitution) {
if (substitution == KeywordSubstitution.BINARY) return BINARY;
if (substitution == KeywordSubstitution.KEYWORD_COMPRESSION) return KEYWORD_COMPRESSION;
if (substitution == KeywordSubstitution.KEYWORD_EXPANSION) return KEYWORD_EXPANSION;
if (substitution == KeywordSubstitution.KEYWORD_EXPANSION_LOCKER) return KEYWORD_EXPANSION_LOCKER;
if (substitution == KeywordSubstitution.NO_SUBSTITUTION) return NO_SUBSTITUTION;
if (substitution == KeywordSubstitution.KEYWORD_REPLACEMENT) return KEYWORD_REPLACEMENT;
return null;
}
public static void fillComboBox(JComboBox comboBox, KeywordSubstitution defaultSubstitution) {
for (KeywordSubstitutionWrapper value : values()) {
comboBox.addItem(value);
}
if (defaultSubstitution != null) {
comboBox.setSelectedItem(getValue(defaultSubstitution));
}
}
public static List<KeywordSubstitutionWrapper> values() {
if (values == null) {
final ArrayList<KeywordSubstitutionWrapper> list = new ArrayList();
list.add(KEYWORD_EXPANSION);
list.add(KEYWORD_EXPANSION_LOCKER);
list.add(KEYWORD_COMPRESSION);
list.add(NO_SUBSTITUTION);
list.add(BINARY);
list.add(KEYWORD_REPLACEMENT);
values = Collections.unmodifiableList(list);
}
return values;
}
}