Joda-Convert tackles the problem of round-trip Object to String conversion.
A common problem in serialization, particularly when working with textual formats like JSON, is that of converting simple objects to and from strings. Joda-Convert addresses this without getting caught up in the wider problem of Object to Object transformation.
Joda-Convert is licensed under the business-friendlyApache 2.0 licence.
A selection of key features:
Various documentation is available:
Joda-Convert is a small, highly-focussed library, tackling a problem that the JDK should solve - providing round-trip conversion between Objects and Strings.
// conversion to StringString str =StringConvert.INSTANCE.convertToString(foo); // conversion from StringFoo bar = StringConvert.INSTANCE.convertFromString(Foo.class, str);
Joda-Convert supports two mechanisms of extending the list of supported conversions. The first is to write your ownconverter implementing an interface. The second is to use annotations.
The ability of Joda-Convert to use annotations to define the conversion methods is a key difference from other projects. For example, most value classes, likeCurrency
orTimeZone
, already have methods to convert to and from a standard format String. Consider aDistance
class:
public class Distance {@FromStringpublic static Distance parse(String str) { ... }@ToStringpublic String getStandardOutput() { ... }}
As shown, the two methods may have any name. They must simply fulfil the required method signatures for conversion. TheFromString
annotation may also be applied to a constructor.
When Joda-Convert is asked to convert between an object and a String, if there is no registered converter then the annotations are checked. If they are found, then the methods are called by reflection.
The 3.x branch (v3.0.1) is compatible with Java SE 21 or later.
The 2.x branch (v2.2.4) is compatible with Java SE 6 or later.
v3.x releases are compatible with v2.x releases, however themodule-info.class
file is always present, and the oldest development pre-release of JSR-310 is not recognized. v2.x releases are compatible with v1.x releases, with the exception that the direct Guava dependency is removed.
Joda-Convert has no mandatory dependencies, however Guava and ThreeTen-Backport will be used if present.
Available in theMaven Central repository.GitHub release bundles.
<dependency> <groupId>org.joda</groupId> <artifactId>joda-convert</artifactId> <version>3.0.1</version></dependency>
Java module name:org.joda.convert
.
Available as part of the Tidelift Subscription.
Joda and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.
If you want the flexibility of open source and the confidence of commercial-grade software, this is for you.Learn more.
Please useStack Overflow for general usage questions. GitHubissues andpull requests should be used when you want to help advance the project.
Any donations to support the project are accepted viaOpenCollective.
To report a security vulnerability, please use theTidelift security contact. Tidelift will coordinate the fix and disclosure.
Copyright ©2010-2024Joda.org. All Rights Reserved.
Version: 3.0.1.Last Published: 2024-10-06.