/// <summary> Invokes a currently registered Velocimacro with the params provided /// and places the rendered stream into the writer. /// <br> /// Note : currently only accepts args to the VM if they are in the context. /// /// </summary> /// <param name="vmName">name of Velocimacro to call /// </param> /// <param name="logTag">string to be used for template name in case of Error. if null, /// the vmName will be used /// </param> /// <param name="params">keys for args used to invoke Velocimacro, in java format /// rather than VTL (eg "foo" or "bar" rather than "$foo" or "$bar") /// </param> /// <param name="context">Context object containing data/objects used for rendering. /// </param> /// <param name="writer"> Writer for output stream /// </param> /// <returns> true if Velocimacro exists and successfully invoked, false otherwise. /// </returns> /// <throws> IOException While rendering to the writer, an I/O problem occured. </throws> public virtual bool InvokeVelocimacro(string vmName, string logTag, string[] parameters, IContext context, TextWriter writer) { return(ri.InvokeVelocimacro(vmName, logTag, parameters, context, writer)); }