Release 5.0.0.32
Date: Oct 5, 2013
Juno 5.0.0.32 is a moderate update.
-
New support for generating and consuming fully-compliant JSON-Schema documents. See
jsonschemafor information. -
New methods added to Parser:
org.apache.juneau.parser.Parser.parseMap(Object,int,Class,Class,Class)
org.apache.juneau.parser.Parser.parseCollection(Object,int,Class,Class)
-
@Bean annotation can now be defined on interfaces and inherited by subclasses.
-
Support for customizing serialized values for
Enums
through overridingtoString()
andfromString()
on the enum class. Previously usedEnum.valueOf()
to convert strings back intoEnums
. Used for JSON-Schema support to allow JsonType enum to be serialized to lowercase per the specification (e.g."string"
instead of"STRING"
). -
CognosDTOs now have fluent-style bean setters. -
Support for generic bean objects whose type was erased at compile time. Previous behavior gave you an error message that the type could not be determined. New behavior assumes a type of
Object
when the type is erased. -
Bug fixes:
- When duplicate fluent-style setters were defined with different parameter types (e.g.
setFoo(Foo f)
,setFoo(Bar b)
), the BeanMap API would sometime choose the wrong setter as the bean property setter. Now validates that the setter being chosen is the one whose return type matches the property getter. - Passing in
Accept
GET parameters with'+'
(e.g.&Accept=text/json+simple
) wasn't working anymore. TheAccept
parameter is supposed to interpret spaces as'+'
to allow you to not have to write&Accept=text/json%2Bsimple
. - Parsers would not set bean properties of abstract type Number. Now it detects the numeric type based on input and sets the value accordingly.
- When duplicate fluent-style setters were defined with different parameter types (e.g.