Skip to content

Java library to provide an API for beans and properties.

License

Notifications You must be signed in to change notification settings

ashleyheath/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.7.1 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.

Tidelift dependency check

Support

Please use Stack Overflow for general usage questions. GitHub issues and pull requests should be used when you want to help advance the project. Commercial support is available via the Tidelift subscription. Donations are also accepted via OpenCollective.

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Release process

  • Update version (README.md, index.md, changes.xml)
  • Commit and push
  • Switch to Java 11
  • 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

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%