Plugins do VRaptor
Plugins são complementos ao VRaptor. Eles são úteis para situações como acessar um banco de dados usando JPA ou Hibernate, enviar emails, segurança etc.
VRaptor JPA
O plugin VRaptor JPA cuida da criação e injeção de depedência da EntityManager e EntityManagerFactory. Além disso, o plugin aplica o padrão Open EntityManager In View, isto é, ele abre uma transação com o banco de dados no ínicio da requisição e executa o commit da transação no fim da requisição.
Para usá-lo basta você copiar o jar para a sua aplicação, ou declarar o plugin como dependência do Maven conforme o trecho abaixo.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-jpa</artifactId>
<version>4.0.5</version>
</dependency> É importante que a persistence unit chame-se default, e que o persistence.xml esteja no diretório src/main/resources/META-INF/.
O plugin não possui nenhum provider. Com isso é necessário que você declare algum provider, como por exemplo, o Hibernate.
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.0.Final</version> <!-- Ou outra versão compatível com JPA 2.1 -->
</dependency> Ou se você prefere usar o Eclipselink:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.5.1</version>
</dependency> VRaptor Hibernate
Se você usa o Hibernate 4, você pode usar o plugin vraptor-hibernate. Semelhante ao plugin VRaptor JPA, este plugin cuida da criação e injetação de dependência da Session e SessionFactory do Hibernate. Além de aplicar o padrão Open Session In View.
Você pode adicioná-lo em seu projeto Maven conforme o trecho abaixo, ou copiar manualmente o jar para seu projeto.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-hibernate</artifactId>
<version>4.0.4</version>
</dependency> VRaptor Java 8
Plugin de suporte para Java 8. Oferece converters para as classes do Java Time (JSR-310), reflection para o nome dos parâmetros e mais.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-java8</artifactId>
<version>4.0.0.Final</version>
</dependency> Simple mail
Permite envio de e-mails.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-simplemail</artifactId>
<version>4.1.0-RC4</version>
</dependency> Joda-time
Joda-time é uma API para facilitar o trabalho de dados temporais em Java. Para usar o joda-time basta acionar o plugin vraptor-jodatime. Adicionando o plugin, os converters são registrados automaticamente.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-jodatime</artifactId>
<version>4.1.0-RC3</version>
</dependency> VRaptor Error-Control
Controle dos erros de sua aplicação em tempo real com o envio de e-mail.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-error-control</artifactId>
<version>4.0.2</version>
</dependency> VRaptor Brutauth
Forma fácil de verificar as permissões de acesso das ações de seu controller.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-brutauth</artifactId>
<version>4.0.4</version>
</dependency> VRaptor QuartzJob
Agendamento de tarefas com Quartz.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-quartzjob</artifactId>
<version>4.0.7</version>
</dependency> VRaptor Freemarker
Renderiza templates do Freemarker.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-freemarker</artifactId>
<version>4.1.0-RC3</version>
</dependency> VRaptor Dash
Dashboard com varias ferramentas para seus projetos VRaptor.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-dash</artifactId>
<version>4.1.0-RC3</version>
</dependency> VRaptor Authz
Alternativa para controle de acesso (autorização) de seus métodos do controller.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-authz</artifactId>
<version>4.0.0-RC2</version>
</dependency> VRaptor I18n
Soluções de i18n na view
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-i18n</artifactId>
<version>4.2.0-RC4</version>
</dependency> VRaptor Test
Facilmente possibilita a criação de testes de integração ou sistema.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-test</artifactId>
<version>4.0.0</version>
</dependency> VRaptor Paginator
Paginação eficiente de seus dados do JPA/Hibernate.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-paginator</artifactId>
<version>4.0.0</version>
</dependency> VRaptor Panettone
Um template engine typesafe escrito em Java.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-panettone</artifactId>
<version>4.0.0-RC9</version>
</dependency> VRaptor Biscotti
I18n typesafe. Sem mais chaves esquecidas e exceptions pra você e seu cliente.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-biscotti</artifactId>
<version>4.0.0-RC1</version>
</dependency> VRaptor Routes
Extraia e defina rotas customizadas em um arquivo de properties.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-routes</artifactId>
<version>4.1.0-RC3</version>
</dependency> VRaptor Simple Validator
Uma forma simples e efetiva de fazer validações programáticas.
<dependency>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-simple-validator</artifactId>
<version>4.1.0-RC3</version>
</dependency> VRaptor contrib
Você pode encontrar alguns plugins feitos por usuários do VRaptor no vraptor-contrib.