Modello Plugin


O Modello plugin é desenvolvido pela codehaus, é utilizado quando temos um modelo de classe definido e o plugin faz a geração automatica das classes do modelo, então toda atualização fica em um descritor em XML, não precisando editar código java para classes Modelo.

1 - Configurando o plugin

A configuração é bem simples, basta no pom do Projeto adicionar as configurações do plugin:

  <plugin>
    <groupId>org.codehaus.modello</groupId>
    <artifactId>modello-maven-plugin</artifactId>
    <version>1.6</version>
    <executions>
      <execution>
        <goals>
          <!-- Generate the Java sources for the model itself -->
          <goal>java</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <models>
        <model>src/main/mdo/descriptor.mdo</model>
      </models>
      <version>1.0.0</version>
      <useJava5>true</useJava5>
    </configuration>
  </plugin>

O descritor com o modelo de classes é configurado model, no nosso exemplo foi criado um descritor chamado descriptor.mdo no caminho: src/main/mdo/descriptor.mdo.

2 - Definindo o descritor do modelo de classe

O Descritor do modelo de classe é bem simples, abaixo um exemplo:

<model xmlns="http://modello.codehaus.org/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.4.0 http://modello.codehaus.org/xsd/modello-1.4.0.xsd"
  xml.namespace="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/${version}"
  xml.schemaLocation="http://maven.apache.org/xsd/archetype-${version}.xsd">
  <id>archetype</id>
  <name>Archetype</name>
  <description>Descritor do modelo</description>

  <defaults>
    <default>
      <key>package</key>
      <value>br.com.javadev.modello.model</value>
    </default>
  </defaults>

  <classes>
    <class>
      <name>Source</name>
      <description>Describes a source file. Note that source files are always filtered, unlike resources that
        can be non-filtered.</description>
      <version>1.0.0</version>
      <fields>
        <field xml.content="true">
          <name>file</name>
          <version>1.0.0</version>
          <type>String</type>
          <description>file</description>
        </field>
        <field xml.attribute="true">
          <name>encoding</name>
          <version>1.0.0</version>
          <type>String</type>
          <description>encoding</description>
        </field>
      </fields>
    </class>
    <class>
      <name>Resource</name>
      <description>Describes a resource file.</description>
      <version>1.0.0</version>
      <fields>
        <field xml.content="true">
          <name>file</name>
          <version>1.0.0</version>
          <type>String</type>
          <description>file</description>
        </field>
        <field xml.attribute="true">
          <name>encoding</name>
          <version>1.0.0</version>
          <type>String</type>
          <description>encoding</description>
        </field>
        <field xml.attribute="true">
          <name>filtered</name>
          <version>1.0.0</version>
          <type>boolean</type>
          <defaultValue>true</defaultValue>
          <description>filtered</description>
        </field>
      </fields>
    </class>
  </classes>
</model>

Vamos entender como é feita a configuração do package onde será colocada a saída

  <defaults>
    <default>
      <key>package</key>
      <value>br.com.javadev.modello.model</value>
    </default>
  </defaults>

Definimos uma chave chamada package onde colocamos no valor o package que queremos que a saida seja gerada


3 - Efetuando os testes

Para gerar as classes do modelo é bem simples, basta executar o maven como abaixo:

mvn compile

Na pasta target gerada será criada uma pasta chamada generated-sources/modello e dentro da estrutura você vai encontrar as classes do modelo, no caminho definido dentro da chave package, como mostrado acima.


Modello Plugin


4 - Download

http://www.javadev.com.br/downloads/plugins/modello.rar.