--- title: Plugins --- # VRaptor's Plugins Plugins are extensions that adds some feature to VRaptor core. It's useful for some situations like access a database under JPA or Hibernate, to send e-mails and more. ##VRaptor JPA VRaptor plugin allow your app to inject `EntityManager` and `EntityManagerFactory`. And more: the plugin implements the Open EntityManager In View filter, that create a transaction when request starts and commits the transaction in the end. If an exception occurs, the plugin rollback the transaction for you. If you want to use, you need only copy the jars for your app. Or if your project uses Maven, you need only to declare the plugin artifact as you can see below: ~~~ #!xml br.com.caelum.vraptor vraptor-jpa <%= Maven.plugin_version('vraptor-jpa') %> ~~~ It's very important that your `persistence unit` is named `default`, and the `persistence.xml` located at `src/main/resources/META-INF/` directory. The plugin doesn't delivery any provider. So you need to declare your prefered provider, like Hibernate. ~~~ #!xml org.hibernate hibernate-entitymanager 4.3.0.Final ~~~ Or if you want to use Eclipselink: ~~~ #!xml org.eclipse.persistence org.eclipse.persistence.jpa 2.5.1 ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-jpa). ##VRaptor Hibernate If you like to use Hibernate 4 instead of JPA you need to use `vraptor-hibernate` plugin. This plugin have a similar behaviour that `vraptor-jpa`, allowing you to inject `Session` e `SessionFactory`. The plugin also implements the Open Session In View pattern. If you want to use, you need only copy the jars for your app. Or if your project uses Maven, you need only to declare the plugin artifact as you can see below: ~~~ #!xml br.com.caelum.vraptor vraptor-hibernate <%= Maven.plugin_version('vraptor-hibernate') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-hibernate). ##VRaptor Java 8 Plugin with support for Java 8, providing out of the box converters for Java Time classes (JSR-310), reflection parameter names, and more. ~~~ #!xml br.com.caelum.vraptor vraptor-java8 <%= Maven.plugin_version('vraptor-java8') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-java8). ##Simple mail Allow you to send e-mail in an easy way. ~~~ #!xml br.com.caelum.vraptor vraptor-simplemail <%= Maven.plugin_version('vraptor-simplemail') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-simplemail). ## Joda-time Joda-time is a pretty API to work with date and time. To use joda-time you need to use the plugin `vraptor-jodatime`. ~~~ #!xml br.com.caelum.vraptor vraptor-jodatime <%= Maven.plugin_version('vraptor-jodatime') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-time-converters). ##VRaptor Error-Control Allows you to real time control error messages sending them by email. ~~~ #!xml br.com.caelum.vraptor vraptor-error-control <%= Maven.plugin_version('vraptor-error-control') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-error-control). ##VRaptor Brutauth Easy way to verify permission to access(authorization) a specific controller action. ~~~ #!xml br.com.caelum.vraptor vraptor-brutauth <%= Maven.plugin_version('vraptor-brutauth') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-brutauth). ##VRaptor QuartzJob A simple Quartz scheduler ~~~ #!xml br.com.caelum.vraptor vraptor-quartzjob <%= Maven.plugin_version('vraptor-quartzjob') %> ~~~ [Plugin page at Github](http://github.com/caelum/vraptor-quartzjob). ##VRaptor Freemarker Help you to render freemarker templates. ~~~ #!xml br.com.caelum.vraptor vraptor-freemarker <%= Maven.plugin_version('vraptor-freemarker') %> ~~~ [Plugin page at Github](http://github.com/caelum/vraptor-freemarker). ##VRaptor Dash A dashboard with several tools for your vraptor project. ~~~ #!xml br.com.caelum.vraptor vraptor-dash <%= Maven.plugin_version('vraptor-dash') %> ~~~ [Plugin page at Github](http://github.com/caelum/vraptor-dash). ##VRaptor Authz An alternative for access control (authorization) of your controller methods. ~~~ #!xml br.com.caelum.vraptor vraptor-authz <%= Maven.plugin_version('vraptor-authz') %> ~~~ [Plugin page at Github](https://github.com/Turini/vraptor-authz). ##VRaptor I18n Solutions for using i18n on view ~~~ #!xml br.com.caelum.vraptor vraptor-i18n <%= Maven.plugin_version('vraptor-i18n') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-i18n). ##VRaptor Test Allows you to quickly create integration or system tests. ~~~ #!xml br.com.caelum.vraptor vraptor-test <%= Maven.plugin_version('vraptor-test') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-test). ##VRaptor Paginator Efficient pagination of your JPA/Hibernate data. ~~~ #!xml br.com.caelum.vraptor vraptor-paginator <%= Maven.plugin_version('vraptor-paginator') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-paginator). ##VRaptor Panettone A typesafe template engine written in Java. ~~~ #!xml br.com.caelum.vraptor vraptor-panettone <%= Maven.plugin_version('vraptor-panettone') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-panettone). ##VRaptor Biscotti I18n typesafe library. No more missing keys and exceptions for you and your client. ~~~ #!xml br.com.caelum.vraptor vraptor-biscotti <%= Maven.plugin_version('vraptor-biscotti') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-biscotti). ##VRaptor Routes Extract and define custom routes on a `properties` file. ~~~ #!xml br.com.caelum.vraptor vraptor-routes <%= Maven.plugin_version('vraptor-routes') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-routes). ##VRaptor Simple Validator A simple and effective way to do programmatic validations. ~~~ #!xml br.com.caelum.vraptor vraptor-simple-validator <%= Maven.plugin_version('vraptor-simple-validator') %> ~~~ [Plugin page at Github](https://github.com/caelum/vraptor-simple-validator). ##VRaptor contrib You can found some plugins made by our users on [vraptor-contrib](https://github.com/caelum/vraptor-contrib).