001 package railo.transformer.cfml.evaluator; 002 003 import railo.runtime.config.Config; 004 import railo.runtime.exp.TemplateException; 005 import railo.transformer.bytecode.statement.tag.Tag; 006 import railo.transformer.library.function.FunctionLib; 007 import railo.transformer.library.tag.TagLib; 008 import railo.transformer.library.tag.TagLibTag; 009 import railo.transformer.util.CFMLString; 010 011 /** 012 * Jede Klasse die als Evaluator verwendet werden soll, 013 * muss das Interface Evaluator implementieren. 014 * Das Interface Evaluator definiert also die gemeinsame 015 * Schnittstelle f�r alle Evaluatoren. 016 */ 017 public interface Evaluator { 018 019 /** 020 * Die Methode evaluate wird aufgerufen, wenn der Context eines Tags gepr�ft werden soll. 021 * @param config 022 * @param cfxdTag Das konkrete Tag innerhalb der kompletten CFXD. 023 * @param libTag Die Definition des Tag aus der TLD. 024 * @param flibs S�mtliche Function Library Deskriptoren des aktuellen Tag Libray Deskriptors. 025 * @param cfml 026 * @return changed talib 027 * @throws TemplateException 028 */ 029 public TagLib execute(Config config,Tag tag, TagLibTag libTag, FunctionLib[] flibs,CFMLString cfml) throws TemplateException; 030 031 /** 032 * Die Methode evaluate wird aufgerufen, wenn der Context eines Tags gepr�ft werden soll, 033 * nachdem die komplette Seite uebersetzt wurde. 034 * @param cfxdTag Das konkrete Tag innerhalb der kompletten CFXD. 035 * @param libTag Die Definition des Tag aus der TLD. 036 * @param flibs S�mtliche Function Library Deskriptoren des aktuellen Tag Libray Deskriptors. 037 * @throws EvaluatorException 038 */ 039 public void evaluate(Tag tag, TagLibTag libTag, FunctionLib[] flibs) throws EvaluatorException; 040 041 042 }