extra.keySet().removeAll(keySet()); if (!extra.isEmpty()) { buffer.append("System defaults:") // TODO: localize
if (remaining == null) { remaining = new Hints(hints); remaining.keySet().removeAll(implementationHints.keySet());
/** * Creates a new factory backed by an authority factory fetched using the specified hints. This * constructor recognizes the {@link Hints#CRS_FACTORY CRS}, {@link Hints#CS_FACTORY CS}, {@link * Hints#DATUM_FACTORY DATUM} and {@link Hints#MATH_TRANSFORM_FACTORY MATH_TRANSFORM} {@code * FACTORY} hints. * * @param userHints The hints, or {@code null} if none. */ public AuthorityBackedFactory(Hints userHints) { super(userHints, PRIORITY); /* * Removes the hint processed by the super-class. This include hints like * LENIENT_DATUM_SHIFT, which usually don't apply to authority factories. * An other way to see this is to said that this class "consumed" the hints. * By removing them, we increase the chances to get an empty map of remaining hints, * which in turn help to get the default CoordinateOperationAuthorityFactory * (instead of forcing a new instance). */ userHints = new Hints(userHints); userHints.keySet().removeAll(hints.keySet()); userHints.remove(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER); userHints.remove(Hints.FORCE_STANDARD_AXIS_DIRECTIONS); userHints.remove(Hints.FORCE_STANDARD_AXIS_UNITS); if (!userHints.isEmpty()) { noForce(userHints); authorityFactory = ReferencingFactoryFinder.getCoordinateOperationAuthorityFactory( DEFAULT_AUTHORITY, userHints); } }