package com.twasyl.slideshowfx.engine.template.configuration; import com.twasyl.slideshowfx.engine.IConfiguration; import com.twasyl.slideshowfx.utils.beans.Pair; import java.io.File; import java.util.List; import java.util.Set; import java.util.logging.Logger; /** * Represents the template found in the template configuration file. * * @author Thierry Wasylczenko * @version 1.0 * @since SlideshowFX 1.0 */ public class TemplateConfiguration implements IConfiguration { public static final String TEMPLATE = "template"; public static final String TEMPLATE_NAME = "name"; public static final String TEMPLATE_FILE = "file"; public static final String JS_OBJECT = "js-object"; public static final String TEMPLATE_RESOURCES_DIRECTORY = "resources-directory"; public static final String TEMPLATE_DEFAULT_VARIABLES = "default-variables"; public static final String TEMPLATE_DEFAULT_VARIABLE_NAME = "name"; public static final String TEMPLATE_DEFAULT_VARIABLE_VALUE = "value"; public static final String SLIDES = "slides"; public static final String SLIDES_CONFIGURATION = "configuration"; public static final String SLIDES_TEMPLATE_DIRECTORY = "template-directory"; public static final String SLIDES_PRESENTATION_DIRECTORY = "presentation-directory"; public static final String SLIDES_THUMBNAIL_DIRECTORY = "thumbnail-directory"; public static final String SLIDE_ID_PREFIX = "slide-id-prefix"; public static final String SLIDES_CONTAINER = "slides-container"; public static final String SLIDES_DEFINITION = "slides-definition"; public static final String SLIDE_ID = "id"; public static final String SLIDE_NAME = "name"; public static final String SLIDE_FILE = "file"; public static final String SLIDE_DYNAMIC_IDS = "dynamic-ids"; public static final String SLIDE_DYNAMIC_ATTRIBUTES = "dynamic-attributes"; public static final String DYNAMIC_ATTRIBUTE = "attribute"; public static final String DYNAMIC_ATTRIBUTE_PROMPT_MESSAGE = "prompt-message"; public static final String DYNAMIC_ATTRIBUTE_TEMPLATE_EXPRESSION = "template-expression"; public static final String SLIDE_ELEMENTS = "elements"; public static final String SLIDE_ELEMENT_ID = "id"; public static final String SLIDE_ELEMENT_HTML_ID = "html-id"; public static final String SLIDE_ELEMENT_DEFAULT_CONTENT = "default-content"; private static final Logger LOGGER = Logger.getLogger(TemplateConfiguration.class.getName()); private String name; private File file; private Set<Pair<String, String>> defaultVariables; private List<SlideTemplate> slideTemplates; private String contentDefinerMethod; private String updateCodeSnippetConsoleMethod; private String gotoSlideMethod; private String getCurrentSlideMethod; private String jsObject; private String sfxServerObject; private File slidesTemplateDirectory; private File slidesPresentationDirectory; private File slidesThumbnailDirectory; private File resourcesDirectory; private String slideIdPrefix; private String slidesContainer; public TemplateConfiguration() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public Set<Pair<String, String>> getDefaultVariables() { return defaultVariables; } public void setDefaultVariables(Set<Pair<String, String>> defaultVariables) { this.defaultVariables = defaultVariables; } public List<SlideTemplate> getSlideTemplates() { return slideTemplates; } public void setSlideTemplates(List<SlideTemplate> slideTemplates) { this.slideTemplates = slideTemplates; } public String getContentDefinerMethod() { return contentDefinerMethod; } public void setContentDefinerMethod(String contentDefinerMethod) { this.contentDefinerMethod = contentDefinerMethod; } public String getGetCurrentSlideMethod() { return getCurrentSlideMethod; } public void setGetCurrentSlideMethod(String getCurrentSlideMethod) { this.getCurrentSlideMethod = getCurrentSlideMethod; } public String getJsObject() { return jsObject; } public void setJsObject(String jsObject) { this.jsObject = jsObject; } public String getSfxServerObject() { return sfxServerObject; } public void setSfxServerObject(String sfxServerObject) { this.sfxServerObject = sfxServerObject; } public File getSlidesTemplateDirectory() { return slidesTemplateDirectory; } public void setSlidesTemplateDirectory(File slidesTemplateDirectory) { this.slidesTemplateDirectory = slidesTemplateDirectory; } public File getSlidesPresentationDirectory() { return slidesPresentationDirectory; } public void setSlidesPresentationDirectory(File slidesPresentationDirectory) { this.slidesPresentationDirectory = slidesPresentationDirectory; } public File getResourcesDirectory() { return resourcesDirectory; } public void setResourcesDirectory(File resourcesDirectory) { this.resourcesDirectory = resourcesDirectory; } public File getSlidesThumbnailDirectory() { return slidesThumbnailDirectory; } public void setSlidesThumbnailDirectory(File slidesThumbnailDirectory) { this.slidesThumbnailDirectory = slidesThumbnailDirectory; } public String getSlideIdPrefix() { return slideIdPrefix; } public void setSlideIdPrefix(String slideIdPrefix) { this.slideIdPrefix = slideIdPrefix; } public String getSlidesContainer() { return slidesContainer; } public void setSlidesContainer(String slidesContainer) { this.slidesContainer = slidesContainer; } public String getUpdateCodeSnippetConsoleMethod() { return updateCodeSnippetConsoleMethod; } public void setUpdateCodeSnippetConsoleMethod(String updateCodeSnippetConsoleMethod) { this.updateCodeSnippetConsoleMethod = updateCodeSnippetConsoleMethod; } public String getGotoSlideMethod() { return gotoSlideMethod; } public void setGotoSlideMethod(String gotoSlideMethod) { this.gotoSlideMethod = gotoSlideMethod; } public SlideTemplate getSlideTemplate(int slideId) { SlideTemplate searchedTemplate = null; for(SlideTemplate slideTemplate : getSlideTemplates()) { if(slideId == slideTemplate.getId()) { searchedTemplate = slideTemplate; break; } } return searchedTemplate; } }