--- old/src/share/classes/java/util/prefs/AbstractPreferences.java Fri Aug 26 16:55:12 2011 +++ new/src/share/classes/java/util/prefs/AbstractPreferences.java Fri Aug 26 16:55:12 2011 @@ -34,6 +34,8 @@ import java.lang.Long; import java.lang.Float; import java.lang.Double; +import java.lang.module.RequireOptionalModule; +import java.lang.module.ModuleNotPresentException; /** * This class provides a skeletal implementation of the {@link Preferences} @@ -1588,10 +1590,15 @@ * results in an <tt>IOException</tt>. * @throws BackingStoreException if preference data cannot be read from * backing store. + * @throws ModuleNotPresentException if XML module is not present. */ + @RequireOptionalModule( + modules={"jdk.jaxp"} + ) public void exportNode(OutputStream os) throws IOException, BackingStoreException { + AbstractPreferences.class.getModule().requireModulePresent("jdk.jaxp"); XmlSupport.export(os, this, false); } @@ -1604,10 +1611,15 @@ * results in an <tt>IOException</tt>. * @throws BackingStoreException if preference data cannot be read from * backing store. + * @throws ModuleNotPresentException if XML module is not present. */ + @RequireOptionalModule( + modules={"jdk.jaxp"} + ) public void exportSubtree(OutputStream os) throws IOException, BackingStoreException { + AbstractPreferences.class.getModule().requireModulePresent("jdk.jaxp"); XmlSupport.export(os, this, true); } }