// ============================================================================
//
// Copyright (C) 2006-2016 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.mdm.repository.utils;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import org.apache.log4j.Logger;
import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.jface.preference.IPreferenceStore;
import org.talend.mdm.repository.plugin.RepositoryPlugin;
/**
* DOC hbhong class global comment. Detailled comment
*/
public class PreferenceUtil {
static Logger log = Logger.getLogger(PreferenceUtil.class);
private static final String DIVIDER = ","; //$NON-NLS-1$
private static IPreferenceStore store = RepositoryPlugin.getDefault().getPreferenceStore();
public static boolean getBoolean(String key) {
return store.getBoolean(key);
}
public static void setBoolean(String key, boolean value) {
store.setValue(key, value);
}
public static String getString(String key) {
return store.getString(key);
}
public static void setString(String key, String value) {
store.setValue(key, value);
}
public static Set<String> getStringSet(String key) {
Set<String> result = new HashSet<String>();
String values = store.getString(key);
if (values != null) {
for (String value : values.split(DIVIDER)) {
if (value.length() > 0)
result.add(value);
}
}
return result;
}
public static void setStringSet(String key, Set<String> values) {
if (values != null) {
StringBuffer buf = new StringBuffer();
for (String value : values) {
if (value.length() > 0) {
buf.append(value).append(DIVIDER);
}
}
store.setValue(key, buf.toString());
}
}
public static void flipBooleanKey(String key) {
boolean result = !store.getBoolean(key);
store.setValue(key, result);
}
public static void save() {
try {
((IPersistentPreferenceStore) store).save();
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
}