Rer library is helping real Java developers that are not afraid to write code.

The main objective of this library is to be simple to use, yet extensible and easy to integrate.
Simple to use:
  • It doesn’t use AOP or Annotation to work.
  • If you want to open a transaction, simply call beginTransaction() !
  • No dependency injection, so you can easily integrate with the one you want, if you want.
  • Classes are java beans
  • It does not stuff, supposed to help you, behind your back

Easy to integrate:

  • Using Interface / factory
  • The only dependency is for slaf logging library.
  • Clean separation of role allows you to integrate easily with any Framework/Library/Server
  • Compatible with everything (J2SE, J2EE, Spring, JPA, Hibernate, Datanucleus, Websphere, Weblogic, JBoss, Tomcat, etc…)
  • Because you do the integration code depending on your requirements

Simple to extend:

  • As the class contract is easy to understand
  • Unlike Spring frameworks, all classes are Java beans with protected (not private) properties.
  • Because it imposes almost nothing
As you can see, Rer is just some java code designed to be helpful and extensible. It is used as the fundation of the Appliweb project.
It is licensed under the Apache v2.0 license, with the added compatibility with GNU GPL and LGPL projects.

The Rer project is currently split in two subprojects.

Rera is basic functionalities, with minimum constraints:
Simple but extensible Generic Daos
  • JPA support
  • Separation of interface and implementation for business model .
  • Google App. Engine support in the way
  • JDO support possible
Simple but extensible Configuration Manager
  • By default, reads configuration data in .properties
Simple but extensible Transaction Manager
  • JPA support
Simple but extensible Value Object Manager
  • Manage association between Value Objects and business model objects
  • Allow easy management of web page construction and rendering.
The only constraint of this library is to have entities with long primary keys.
Rerb is build on top of Rera, and provides more guidelines for database based application development:
  • Adds common interface and support for items displayable in application, and items with validity dates
  • Extends the Daos and Entity to support the concept of ReferenceData
  • ReferenceData are read-only data, mostly used for filling combo-boxes.
  • Loaded by unique code
  • It provides easy internationalization support (i18n), and startDate/endDate
  • Using a clean interface based marker, you can easily adapt your application behavior for these classes (cache, etc…)
If you think Rer is the library you’re waiting for, go ahead, download and use it.
If you think Rer is following the right design concepts but lacks functionality, we would be glad to hear from you, and maybe welcome you onboard !