Tags:
create new tag
, view all tags

Velocity

Tecnologia de geração baseada em template mantida pela comunidade Apache. Proposta inicialmente para geração de conteúdo HTML dinâmico, passou a ser usada como uma solução de template de propósito geral.

Geração de código com Velocity

Esse exemplo consiste em adaptar um avaliador de expressões de acordo com:

  • o tipo da expressão (int ou double)
  • suporte opcional a geração de uma representação String das expressões
  • suporte alternativo a expressões básicas (soma e subtração) ou avançada (que inclui divisão e multiplicação)

Para usar o velocity, usamos a tarefa texgen do ANT, específica para geração de conteúdo texto e exportado para arquivos. Dessa forma, é necessário adicionar duas bibliotecas velocity ao classpath do ANT (isso pode ser feito via eclipse, nas página de preferências do ANT). As bibliotecas (arquivos jars), estão disponíveis no arquivo: velocity-1.5.zip

Abaixo, é apresentado um exemplo de arquivo build.xml que pode ser usado para fazer a geração de código fonte.

<project name="HtmlGenerator" default="main" basedir=".">
   <taskdef name="texen" classname="org.apache.velocity.texen.ant.TexenTask" />
   
   
   <!-- ============================================================= -->
   <!-- G E N E R A T E JAVA SOURCE CODE-->
   <!-- ============================================================= -->
   <!-- This target will generate a set of Java source code pages     -->
   <!-- based on the information in our control context.              -->
   <!-- ============================================================= -->
   
   <target name="main">
      <echo message="+------------------------------------------+" />
      <echo message="| |" />
      <echo message="| Generating JAVA source code! |" />
      <echo message="| |" />
      <echo message="+------------------------------------------+" />
      <texen controlTemplate="ExpressionControl.vm" outputDirectory="./target" templatePath="." outputFile="generation.report" />
   </target>

</project>

O processo de geração é customizado com o arquivo ExpressionControl.vm, que pode ser adaptado para gerar diferentes membros da linha de produtos. Optamos por disponibilizar a forma mais simples de implementar ...

-- RodrigoBonifacio - 26 Aug 2008

Edit | Attach | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2008-08-26 - RodrigoBonifacio
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platformCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

mersin escort bayan adana escort bayan izmit escort ankara escort bursa escort