1 17 18 package org.apache.geronimo.security.remoting.jmx; 19 import java.io.ObjectStreamException ; 20 import java.io.Serializable ; 21 import java.net.URI ; 22 23 import org.apache.geronimo.interceptor.Invocation; 24 import org.apache.geronimo.interceptor.InvocationKey; 25 26 29 public final class InvocationSupport implements Serializable , InvocationKey { 30 31 private static final long serialVersionUID = 3690191053600796981L; 32 33 private static int MAX_ORDINAL = 2; 35 private static final InvocationSupport[] values = new InvocationSupport[MAX_ORDINAL + 1]; 36 private static final InvocationSupport REMOTE_URI = new InvocationSupport("REMOTE_URI", 0); 37 private static final InvocationSupport INVOCATION_TYPE = new InvocationSupport("INVOCATION_TYPE", 1); 38 39 public static URI getRemoteURI(Invocation invocation) { 40 return (URI ) invocation.get(REMOTE_URI); 41 } 42 public static void putRemoteURI(Invocation invocation, URI remoteURI) { 43 invocation.put(REMOTE_URI, remoteURI); 44 } 45 public static InvocationType getInvocationType(Invocation invocation) { 46 return (InvocationType) invocation.get(INVOCATION_TYPE); 47 } 48 public static void putInvocationType(Invocation invocation, InvocationType type) { 49 invocation.put(INVOCATION_TYPE, type); 50 } 51 52 private final transient String name; 53 private final int ordinal; 54 55 private InvocationSupport(String name, int ordinal) { 56 assert ordinal < MAX_ORDINAL; 57 assert values[ordinal] == null; 58 this.name = name; 59 this.ordinal = ordinal; 60 values[ordinal] = this; 61 } 62 63 public String toString() { 64 return name; 65 } 66 67 Object readResolve() throws ObjectStreamException { 68 return values[ordinal]; 69 } 70 71 static public boolean isAncestor(ClassLoader parent, ClassLoader child) { 72 if (child == null) 74 return parent == null; 75 if (parent == null) 77 return true; 78 79 while (child != null) { 80 if (child.equals(parent)) 81 return true; 82 child = child.getParent(); 83 } 84 return false; 85 } 86 87 90 public boolean isTransient() { 91 return true; 92 } 93 94 } 95 | Popular Tags |