1 8 9 package mx4j.tools.remote.local; 10 11 import java.lang.reflect.Method ; 12 import java.lang.reflect.Proxy ; 13 import java.security.AccessControlContext ; 14 import java.util.Map ; 15 import javax.security.auth.Subject ; 16 17 import mx4j.tools.remote.SubjectInvoker; 18 19 22 class LocalSubjectInvoker extends SubjectInvoker 23 { 24 static LocalConnection newInstance(LocalConnection target, Subject subject, AccessControlContext context, Map environment) 25 { 26 LocalSubjectInvoker handler = new LocalSubjectInvoker(target, subject, context, environment); 27 return (LocalConnection)Proxy.newProxyInstance(handler.getClass().getClassLoader(), new Class []{LocalConnection.class}, handler); 28 } 29 30 private LocalSubjectInvoker(LocalConnection target, Subject subject, AccessControlContext context, Map environment) 31 { 32 super(target, subject, context, environment); 33 } 34 35 protected boolean isPlainInvoke(Method method) 36 { 37 boolean plain = super.isPlainInvoke(method); 38 if (plain) return plain; 39 40 String methodName = method.getName(); 41 if ("close".equals(methodName)) return true; 43 return false; 44 } 45 } 46 | Popular Tags |