001 package com.khubla.pragmatach.framework.api;
002
003 import java.util.Map;
004
005 /**
006 * @author tome
007 */
008 public interface Plugin {
009 /**
010 * if this plugin exposes an I8NProvider, return it here, otherwise return null
011 */
012 I8NProvider getI8NProvider();
013
014 /**
015 * name of the plugin
016 */
017 String getName();
018
019 /**
020 * get template variables
021 */
022 Map<String, Object> getTemplateVariables();
023
024 /**
025 * this sets the PluginContext, so that the plugin can access framework-provided services, such as the ResourceLoader
026 */
027 void setPluginContext(PluginContext pluginContext);
028
029 /**
030 * startup
031 */
032 void startup() throws PragmatachException;
033 }