< prev index next >
src/java.prefs/share/classes/java/util/prefs/Preferences.java
Print this page
@@ -236,27 +236,29 @@
// FIXME: This code should be run in a doPrivileged and
// not use the context classloader, to avoid being
// dependent on the invoking thread.
// Checking AllPermission also seems wrong.
try {
- return (PreferencesFactory)
- Class.forName(factoryName, false,
+ @SuppressWarnings("deprecation")
+ Object result =Class.forName(factoryName, false,
ClassLoader.getSystemClassLoader())
.newInstance();
+ return (PreferencesFactory)result;
} catch (Exception ex) {
try {
// workaround for javaws, plugin,
// load factory class using non-system classloader
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(new java.security.AllPermission());
}
- return (PreferencesFactory)
- Class.forName(factoryName, false,
+ @SuppressWarnings("deprecation")
+ Object result = Class.forName(factoryName, false,
Thread.currentThread()
.getContextClassLoader())
.newInstance();
+ return (PreferencesFactory) result;
} catch (Exception e) {
throw new InternalError(
"Can't instantiate Preferences factory "
+ factoryName, e);
}
@@ -297,13 +299,14 @@
platformFactory = "java.util.prefs.MacOSXPreferencesFactory";
} else {
platformFactory = "java.util.prefs.FileSystemPreferencesFactory";
}
try {
- return (PreferencesFactory)
- Class.forName(platformFactory, false,
+ @SuppressWarnings("deprecation")
+ Object result = Class.forName(platformFactory, false,
Preferences.class.getClassLoader()).newInstance();
+ return (PreferencesFactory) result;
} catch (Exception e) {
throw new InternalError(
"Can't instantiate platform default Preferences factory "
+ platformFactory, e);
}
< prev index next >