package com.idega.content.themes.helpers.business;
import java.util.List;
import java.util.Map;
import com.idega.content.themes.helpers.bean.Theme;
import com.idega.content.themes.helpers.bean.ThemeChange;
import com.idega.content.themes.helpers.bean.ThemeStyleGroupMember;
public interface ThemeChanger {
public static final String SPRING_BEAN_IDENTIFIER = "themeChanger";
public boolean restoreTheme(String themeKey) throws Exception;
public boolean saveTheme(String themeKey, String themeName) throws Exception;
public boolean setSelectedStyles(Theme theme, List<ThemeChange> enabledStyles) throws Exception;
public String applyMultipleChangesToTheme(String themeKey, List<ThemeChange> changes, String themeName) throws Exception;
public String changeTheme(String themeKey, String themeName, ThemeChange change, boolean lastChange) throws Exception;
public List <ThemeStyleGroupMember> getEnabledStyles(Theme theme) throws Exception;
public ThemeStyleGroupMember getMember(Map <String, ThemeStyleGroupMember> styleMembers, String styleGroupName, int index) throws Exception;
public ThemeStyleGroupMember getStyleMember(Theme theme, String styleGroupName, String styleVariation) throws Exception;
public boolean prepareThemeForUsage(Theme theme) throws Exception;
public boolean prepareThemeStyleFiles(Theme theme) throws Exception;
public boolean reloadThemeProperties(String themeKey, boolean checkConfig) throws Exception;
public boolean setBuiltInStyle(String themeId, String builtInStyleId) throws Exception;
public ThemeStyleGroupMember getColorGroupMember(Theme theme, String variable) throws Exception;
}