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.
4 - Download
http://www.javadev.com.br/downloads/plugins/modello.rar.