Releases: Kale-Ko/BJSL
2.1.1
2.1.0
The project now uses JDK 21.
Added ParsedElement#to{Type}()
as well as ParsedElement#to(primitiveType)
for converting primitive values even if they are not the exact correct type.
Added ParsedArray#addAll(ParsedElement...)
Parser
is now an interface and not an abstract class, JacksonParser
is still an abstract class.
Possible speed ups for parsing and processing.
Added some missing javadocs in DefaultTypeProcessors
for the different Options enums.
Fixed a bunch of javadocs.
2.0.1 / 2.0.2
Dependency updates.
2.0.0
We finally have a proper readme!
You can now use anything* as a Map key!
A few small speed ups.
Separated out the Parser
interface from JacksonParser
for better api usability.
Added @ExpectGreaterThan
and @ExpectLessThan
for checking bounds.
Moved default type processors to their own class (DefaultTypeProcessors
) so they can be enabled and disabled individually.
Added options to default type processors (ObjectProcessor.Builder#setDefaultTypeProcessorsOptions
).
UUID
s can be represented as Strings, Byte Arrays, Short Arrays, Integer Arrays, Long Arrays, or BigIntegers.
InetAddress
es and InetSocketAddress
es can be represented as Strings or BigIntegers.
Date
s, Calendar
s, and Instant
s can be represented as Strings in a specified format or BigIntegers.
Note: The old and new Date
and Calendar
formats are incompatible, there is also a slight difference between the old and new Instant
implementation, it will no longer accept a number encoded as a String.
Removed XmlParser
, TomlParser
, PropertiesParser
, and CsvParser
as they never really worked.
ParsingException
is now ParserException
.
DontSerialize
is now NeverSerialize
, no behavior change.
Removed @Default
.
Addded ParsedObject#getOrNull
and ParsedArray#getOrNull
.
ignoreNulls
now properly only effects maps and objects and ignoreArrayNulls
now properly only effects lists and arrays
ignoreArrayNulls
is now false by default.
Allow 0 tab width for JsonParser
to remove line breaks.
Fixed trailing spaces in JsonParser
output.
Fixed YamlParser
ignoring indentLevel
and crlf
.
Added missing JavaDocs for @Expects
.
Updated and fixed some JavaDocs.
Changed some javadoc generation options.
Source is now included in JavaDocs.
JavaDocs now link to external JavaDocs for used libraries.
There is now an option to allow non-static member classes to be initialized by also initializing their parent, see InitializationUtil
.
* Map keys must be translated to a ParsedPrimitive
type. This can be done using TypeProcessors, just output some type of ParsedPrimitive
. This is already done for all default types.
1.13.0 / 1.13.1
Updated Jackson
Fixed some issues with the pom.xml
1.12.0 / 1.12.1
Use new shade plugin
Everything should function the same