/*******************************************************************************
* Copyright (c) 2007, 2010 Intel Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Intel Corporation - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.core.settings.model.util;
import java.util.LinkedHashMap;
import java.util.List;
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
public class CEntriesSet {
private LinkedHashMap<Object, ICSettingEntry> fEntriesMap = new LinkedHashMap<Object, ICSettingEntry>();
public CEntriesSet(){
}
public CEntriesSet(List<ICSettingEntry> list){
setEntries(list);
}
public CEntriesSet(ICSettingEntry entries[]){
setEntries(entries);
}
public int size() {
return fEntriesMap.size();
}
/* public ICLanguageSettingEntry removeEntry(String name) {
ICLanguageSettingEntry entry = (ICLanguageSettingEntry)fMap.remove(name);
if(entry != null)
fList.remove(entry);
return entry;
}
*/
public ICSettingEntry[] toArray() {
return fEntriesMap.values().toArray(new ICSettingEntry[fEntriesMap.size()]);
}
protected Object getKey(ICSettingEntry entry){
return entry;
}
public ICSettingEntry addEntry(ICSettingEntry entry) {
return fEntriesMap.put(getKey(entry), entry);
}
public void clear() {
fEntriesMap.clear();
}
public void setEntries(List<ICSettingEntry> list) {
clear();
for (ICSettingEntry entry : list) {
addEntry(entry);
}
}
public void setEntries(ICSettingEntry[] entries) {
clear();
for (ICSettingEntry entry : entries) {
if(entry != null){
addEntry(entry);
}
}
}
}