/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
*/
package org.hibernate.validator.internal.util.privilegedactions;
import java.io.IOException;
import java.net.URL;
import java.security.PrivilegedAction;
import java.util.Collections;
import java.util.Enumeration;
/**
* A {@code PrivilegedAction} wrapping around {@code ClassLoader.getResources(String)}.
*
* @author Hardy Ferentschik
*/
public final class GetResources implements PrivilegedAction<Enumeration<URL>> {
private final String resourceName;
private final ClassLoader classLoader;
public static GetResources action(ClassLoader classLoader, String resourceName) {
return new GetResources( classLoader, resourceName );
}
private GetResources(ClassLoader classLoader, String resourceName) {
this.classLoader = classLoader;
this.resourceName = resourceName;
}
@Override
public Enumeration<URL> run() {
try {
return classLoader.getResources( resourceName );
}
catch (IOException e) {
// Collections.emptyEnumeration() would be 1.7
return Collections.enumeration( Collections.<URL>emptyList() );
}
}
}