/* * 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; } }