Martin Desruisseaux ha scritto:
> Martin Desruisseaux a écrit :
>> If this proposal is accepted, I can declare two ReferencingFactoryFinder
>> instances: DEFAULT and STRICT. Users would need to replace every calls to:
> 
> More notes on the rational behind that. Use case:
> 
> 1) A user ask for a factory using FactoryFinder.DEFAULT.getFooFactory(hints).
> 
> 2) The FactoryFinder merge the user-specified hints with the global hints,
>    then create the Factory (if it was not already instantiated) using the
>    Factory(Hints) constructor.
> 
> 3) The factory depends on some other factories. Before to ask FactoryFinder
>    again, it may apply some processing on the user hints, maybe *removing*
>    some user-specified hints - for example CRS codes specified as URN are
>    always "as the authority said" even if the users provided the "force
>    longitude first axis order" hint.
> 
> 4) The factory invokes FactoryFinder.STRICT.getFooFactory(hints) for fetching
>    its dependency. We use STRICT, not DEFAULT, because:
> 
>    - We already have the user hints - we are inside a Factory(Hints) 
> constructor
>      invoked by FactoryFinder.DEFAULT and we are fetching dependencies.
> 
>    - We don't want global hints to be merged again. If we are fetching a URN
>      factory dependency, we really don't want the "force longitude first axis
>      order" to be merged to the hints - we just removed that hint in the
>      previous step!
> 
> 
> So in conclusion:
> 
> * Users would use FactoryFinder.DEFAULT
> 
> * Factory(Hints) constructor that need to fetch dependencies would use
>   FactoryFinder.STRICT with the hints that they got (and eventually
>   filtered) in the constructor.

Sounds good to me Martin.
Cheers
Andrea

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to