blob: 6330f24b24fc7852567a478d8dc25a381efd9890 [file] [log] [blame]
%!TEX root = ../EpsilonBook.tex
\subsection{Model-to-Text Transformation Task}
\label{sec:EglTask}
To support model to text transformations, \textit{EglTask (epsilon.egl)} task is provided that executes an Epsilon Generation Language (EGL) module\footnote{As discussed in Section \ref{sec:EGL} EGL has been built atop Epsilon with a minimal contribution of the author}. In addition to the attributes defined by \textit{ExecutableModuleTask}, \textit{EglTask} also defines the following attributes:
\begin{itemize}
\item \textit{target} : Defines a file in which all of the generated text will be stored.
\item \textit{templateFactoryType} : Defines the Java class that will be instantiated to provide a \emph{TemplateFactory} for the EGL program. The specified class must be on the classpath and must subtype \emph{EglTemplateFactory}. See Section~\ref{sec:custom_co-ordination} for more information.
\end{itemize}
\emph{EglTask} may nest any number of \emph{formatter} elements. The \emph{formatter} nested element has the following attributes:
\begin{itemize}
\item \textit{implementation} (required) : Defines the Java class that will be instantiated to provide a \emph{Formatter} for the EGL program. The specified class must be on the classpath and must subtype \emph{Formatter}. See Section~\ref{sec:custom_formatter} for more information.
\end{itemize}