public abstract class SecurityManagerAccess {
public SecurityManagerAccess() {
currentSecurityManager = System.getSecurityManager();
}
protected SecurityManager getSecurityManager() {
return currentSecurityManager;
}
protected boolean canCreateLoader() {
if (getSecurityManager() != null) {
try {
currentSecurityManager.checkCreateClassLoader();
} catch (SecurityException e) {
return false;
}
}
return true;
}
public List load(List list) {
if (canCreateLoader()) {
list.add(createLoader());
return list;
} else {
return list;
}
}
protected abstract ClassLoader createLoader();
private SecurityManager currentSecurityManager = null;
}
|
|