public Class<?> resolveProxyClass(final Unmarshaller unmarshaller, final String[] interfaces) throws IOException, ClassNotFoundException { final int length = interfaces.length; final Class<?>[] classes = new Class<?>[length]; for (int i = 0; i < length; ++ i) { classes[i] = this.loadClass(interfaces[i]); } final ClassLoader classLoader; if (length == 1) { classLoader = doPrivileged((PrivilegedAction<ClassLoader>) classes[0]::getClassLoader); } else { classLoader = getClassLoader(); } return Proxy.getProxyClass(classLoader, classes); } }
public Class<?> resolveProxyClass(final Unmarshaller unmarshaller, final String[] interfaces) throws IOException, ClassNotFoundException { final int length = interfaces.length; final Class<?>[] classes = new Class<?>[length]; for (int i = 0; i < length; ++ i) { classes[i] = this.loadClass(interfaces[i]); } final ClassLoader classLoader; if (length == 1) { classLoader = doPrivileged((PrivilegedAction<ClassLoader>) classes[0]::getClassLoader); } else { classLoader = getClassLoader(); } return Proxy.getProxyClass(classLoader, classes); } }
public Class<?> resolveProxyClass(final Unmarshaller unmarshaller, final String[] interfaces) throws IOException, ClassNotFoundException { final int length = interfaces.length; final Class<?>[] classes = new Class<?>[length]; for (int i = 0; i < length; ++ i) { classes[i] = this.loadClass(interfaces[i]); } final ClassLoader classLoader; if (length == 1) { classLoader = doPrivileged((PrivilegedAction<ClassLoader>) classes[0]::getClassLoader); } else { classLoader = getClassLoader(); } return Proxy.getProxyClass(classLoader, classes); } }