/*******************************************************************************
* Copyright (c) 2007, 2008 Symbian Software Limited 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:
* Bala Torati (Symbian) - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.ui.templateengine.uitree;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.core.templateengine.TemplateEngineHelper;
import org.eclipse.cdt.core.templateengine.TemplateInfo;
/**
* Every UIElement will be associated with attributes. This class extends
* HashMap. It just provides a convenient way to store Key , value pairs. This
* class is for clarity in usage. We need not use HashMap for attributes,
* instead we can use UIAttributes for attributes.
*/
public class UIAttributes extends HashMap<String, String> {
private static final long serialVersionUID = 0000000000L;
private TemplateInfo templateInfo;
UIAttributes(TemplateInfo templateInfo) {
this.templateInfo = templateInfo;
}
@Override
public String put(String key, String value) {
value = TemplateEngineHelper.externalizeTemplateString(templateInfo, value);
return super.put(key, value);
}
@Override
public void putAll(Map<? extends String, ? extends String> map) {
for(String key : map.keySet()) {
String value = map.get(key);
value = TemplateEngineHelper.externalizeTemplateString(templateInfo, value);
super.put(key, value);
}
}
}