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 }