package com.kls.logic.style;
import com.kls.logic.properties.AProperty;
import java.util.HashMap;
import java.util.Map;
/**
* Created by Juriaan on 14-3-2015.
*/
public abstract class AStyle {
private Map<String, AProperty> properties;
public AStyle(){
properties = new HashMap<String, AProperty>();
}
public void addProperty(AProperty property){
properties.put(property.getPropertyName(), property);
}
public abstract void merge(PageStyle style);
public abstract void merge(SectionStyle style);
public abstract void merge(QuestionStyle style);
public void overrideMerge(AStyle style, boolean override){
for(AProperty property : style.getProperties().values()){
if(!override && !properties.containsKey(property.getPropertyName())) {
properties.put(property.getPropertyName(), property);
}
}
}
public Map<String, AProperty> getProperties() {
return properties;
}
public String toCSS(){
String css = "";
for(AProperty property : properties.values()){
css = css.concat(property.toCSS());
}
return css;
}
}