> Am 27.03.2016 um 19:16 schrieb Romain Manni-Bucau <[email protected]>:
> 
> Le 27 mars 2016 17:48, "Mark Struberg" <[email protected]> a écrit :
>> 
>> We currently have no ‚API‘ for Mapper etc. That means that we pretty much
> expose all internals to the public. That is fine as long as no one comes
> whining why we change some signatures.
>> 
> 
> This is not true and not having an interface allows end users to extend it
> in a smooth manner for advanced things.

Which we will most certainly break with any minor refactoring…


>> Imo we should start to make it clear what is considered an end-user
> contract and what is purely internal and subject to get changed.
> 
> Once again contract != interface. Your MappingConfig is a very good and due
> refactoring which would solve most of current issues.

Still needs review. First draft is committed to my github branch. Still a few 
miles to go :(
What I aim for is that the MapperBuilder builds a config. All mutable. But if 
you create a Mapper then we do a clone() on the *current* MapperConfiguration 
and pass this to the Mapper where there is no way to change it later.


> Side note: -1000 to any spi for the impl.

I would love to see an own SPI package at least. Currently the people using 
Mapper can not be sure what will remain stable in the future and which 
signatures might change…

Probably it becomes less important if the JSON-B spec adopts a capable API.
One of my goals is to have something the JSON-B EG can look at and probably 
adopt the approach. 
Not sure if their time and manpower allows it, but currently the jsonb Adapters 
are really way too limited.

LieGrue,
strub

Reply via email to