00001
00027 package org.objectweb.jonas_lib.security.jacc;
00028
00029 import java.security.CodeSource;
00030 import java.security.Permission;
00031 import java.security.PermissionCollection;
00032 import java.security.Policy;
00033 import java.security.ProtectionDomain;
00034
00035
00041 public class JPolicyWrapper extends Policy {
00042
00046 private Policy wrappedPolicy = null;
00047
00051 private static final String CLASS_NAME = "org.objectweb.jonas_lib.security.jacc.JPolicy";
00052
00053
00057 public JPolicyWrapper() {
00058 super();
00059 try {
00060 ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
00061 Class clazz = classLoader.loadClass(CLASS_NAME);
00062 wrappedPolicy = (Policy) clazz.newInstance();
00063 } catch (Exception e) {
00064
00065 throw new RuntimeException("JPolicyWrapper : Error with JACC/Policy object :" + e.getMessage());
00066 }
00067 }
00068
00069
00073 public void refresh() {
00074 wrappedPolicy.refresh();
00075 }
00076
00084 public PermissionCollection getPermissions(CodeSource codesource) {
00085 return wrappedPolicy.getPermissions(codesource);
00086 }
00087
00095 public PermissionCollection getPermissions(ProtectionDomain domain) {
00096 return wrappedPolicy.getPermissions(domain);
00097 }
00098
00107 public boolean implies(ProtectionDomain domain, Permission permission) {
00108 return wrappedPolicy.implies(domain, permission);
00109 }
00110
00111 }