Skip to content

Java library to provide an API for beans and properties.

License

Notifications You must be signed in to change notification settings

dhaase/joda-beans

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Joda-Beans

Joda-Beans provides a small framework that adds properties to Java, greatly enhancing JavaBeans. An API is provided that defines a bean and property model, together with a code generator to make it work in practice.

The key concept is to allow each property on a bean to be accessed as an object. This enables technologies such as XPath, XML conversion, DB mappings, WebApp validation and Swing bindings.

Joda-Beans is licensed under the business-friendly Apache 2.0 licence.

Why Joda Beans?

Joda-Beans has been created to plug a gap in the Java language - properties. The concept of properties is familiar to those coding in almost every other modern language. Java stands alone in its pursuit of the terrible JavaBean approach, and personally I believe that properties should have been added to Java before generics and closures.

JavaBeans are typically created by manual coding or one-off IDE generation, such as by Eclipse. The same approach is taken to the creation of equals and hashCode methods. However, none of these approaches provides for a simple and fast mechanism to query a bean for the properties it exposes.

Joda-Beans provides a solution. As a developer, you just write the fields much as you would today. Then you add annotations to the bean and properties. Finally, you run a code generator, which creates the get/set methods plus framework methods that allow the properties to be effectively queried. If you use Eclipse and the Joda-Beans Maven plugin, the bean will be regenerated automatically on save.

A key point is that the code generator may be run again and again on the Java file, and is non-destructive. See these sample classes used for testing - a simple user account class, example usage, example of validation.

Documentation

Various documentation is available:

Releases

Release 2.3 is the current release. This release is considered stable and worthy of the 2.x tag. There are only minor incompatibilities with the 1.x codebase.

Joda-Beans requires Java SE 8 or later and depends on Joda-Convert. There are a number of optional dependencies which help with integration.

Available in the Maven Central repository

For Java SE 6 compatibility, use release 1.14.

Support

Please use GitHub issues and Pull Requests for support.

Release process

  • Update version (README.md, index.md, changes.xml)
  • Commit and push
  • mvn clean release:clean release:prepare release:perform
  • git fetch
  • Website will be built and released by Travis

About

Java library to provide an API for beans and properties.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%