On Mar 10, 2014, at 2:12 PM, Brian Burkhalter <[email protected]> wrote: > <snip> > A) No interoperability: Java 9 and subsequent versions would not share > preferences with earlier versions. > B) Initialization only: Java 9 preferences would be initialized from the > state of pre-9 preferences at the instant of first use. > C) Unidirectional: Java 9 would detect changes made by earlier versions. > D) Bidirectional: Java 9 and pre-9 preferences would be kept in sync. > > For options C and D note that only Java 9+ instances could effect this > behavior. If for example Java 9 was not run for some time on a particular > machine, the pre-9 preferences could significantly diverge from the 9 > preferences. These would presumably be brought into sync when a Java 9+ > instance next invoked the Preferences APIs.
If the scope of the change remains to naming only (leaving the file format the same), it may be possible to implement option D via linking - either hard links or symlinks - preserving bidirectional compatibility without the need for an explicit sync operation.
