5.0.0.14 (Mar 23, 2013)
Juno 5.0.0.14 is a major update.
The biggest change is that the RestSerializer, RestParser, RestSerializerGroup, and RestParserGroup classes have been eliminated entirely.
Instead, the existing {@link oaj.serializer.Serializer}, {@link oaj.parser.Parser}, {@link oaj.serializer.SerializerGroup}, and {@link oaj.parser.ParserGroup} classes of the core API have been augmented to replace them.
Adoptions will be required if you have previously used these classes.
Core API changes
-
New org.apache.juneau.serializer package.
- Entirely reworked class hierarchy to make it easier to define new serializers.
- New {@link oaj.serializer.WriterSerializer} base class for defining character-based serializers.
- New {@link oaj.serializer.OutputStreamSerializer} base class for defining byte-based serializers.
- Updated {@link oaj.serializer.SerializerGroup} class with full support for RFC2616 Accept-Content headers.
- Improved cloning support on serializers and serializer groups.
-
New org.apache.juneau.parser package.
- Entirely reworked class hierarchy to make it easier to define new parsers.
- New {@link oaj.parser.ReaderParser} base class for defining character-based parsers.
- New {@link oaj.parser.InputStreamParser} base class for defining byte-based parsers.
- Improved cloning support on parsers and parser groups.
-
New org.apache.juneau.transform package.
- Cleaner class structure.
- Improved {@link oaj.transform.BeanFilter} class for defining property filters on beans.
- Improved {@link oaj.utils.PojoQuery} class for defining filters on objects (previously called ObjectFilter).
-
New org.apache.juneau.encoders package.
- Defines API for {@link oaj.encoders.Encoder Encoders} for enabling compression in REST servlets and clients.
- Previously, gzip compression was enabled by default. This new API allows you to plug in your own compression algorithms.
- New {@link oaj.encoders.GzipEncoder} class for enabling gzip compression.
- New {@link oaj.encoders.EncoderGroup} class for managing multiple encoders and finding them based on RFC2616 Accept-Encoding header values.
-
New org.apache.juneau.plaintext package.
- New {@link oaj.plaintext.PlainTextSerializer} and {@link oaj.plaintext.PlainTextParser} classes for serializing/parsing text/plain content.
-
New org.apache.juneau.jso package.
- New {@link oaj.jso.JsoSerializer} class for serializing application/x-java-serialized-object content.
-
New org.apache.juneau.soap package.
- New {@link oaj.soap.SoapXmlSerializer} class for serializing text/xml+soap content.
-
Improved cloning support on the {@link oaj.BeanContext} class.
- Better caching. Improved caching performance.
-
JsonMap and JsonList changed to {@link oaj.ObjectMap} and {@link oaj.ObjectList} to better reflect that they're not limited to just JSON support.
-
Renamed PojoSwap to {@link oaj.utils.PojoQuery} to not confuse it with the new Filter API.
REST server API changes
-
Eliminated org.apache.juneau.rest.serializers and org.apache.juneau.rest.parsers packages.
- All existing REST serializers and parsers merged into the core API.
REST client API changes
-
Simplified {@link oajrc.RestClient} API.
- You can now only specify a single serializer or parser per client. This significantly simplifies the code.
- Support for {@link oaj.encoders.Encoder Encoders}.
-
Eliminated RestCmdLine (since it's essentially redundant with CURL).