1 package org.apache.commons.ognl.internal.entry;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import org.apache.commons.ognl.OgnlRuntime;
27 import org.apache.commons.ognl.internal.CacheException;
28
29 import java.lang.reflect.Method;
30
31 public class MethodPermCacheEntryFactory
32 implements CacheEntryFactory<Method, Boolean>
33 {
34 private SecurityManager securityManager;
35
36 public MethodPermCacheEntryFactory( SecurityManager securityManager )
37 {
38 this.securityManager = securityManager;
39 }
40
41 public Boolean create( Method key )
42 throws CacheException
43 {
44 try
45 {
46 securityManager.checkPermission( OgnlRuntime.getPermission( key ) );
47 return true;
48 }
49 catch ( SecurityException ex )
50 {
51 return false;
52 }
53
54 }
55
56 public void setSecurityManager( SecurityManager securityManager )
57 {
58 this.securityManager = securityManager;
59 }
60 }