public static List<String> resources( Class<?> clazz, String resource ) { List<String> list = listFromClassLoader(Thread.currentThread().getContextClassLoader(), resource); if ( isEmpty( list ) ) { list = listFromClassLoader(clazz.getClassLoader(), resource); } if ( isEmpty( list ) && resource.startsWith( "/" ) ) { resource = resource.substring( 1 ); return resources( clazz, resource ); } return list; }
public static List<URL> classpathResources( Class<?> clazz, String resource ) { List<URL> list = classpathResources( Thread.currentThread().getContextClassLoader(), resource ); if ( isEmpty( list ) ) { list = classpathResources( clazz.getClassLoader(), resource ); } if ( isEmpty( list ) && resource.startsWith( "/" ) ) { resource = resource.substring( 1 ); return classpathResources( clazz, resource ); } return list; }
public static List<Path> paths( Class<?> clazz, String resource ) { List<Path> list = pathsFromClassLoader(Thread.currentThread().getContextClassLoader(), resource); if ( isEmpty( list ) ) { list = pathsFromClassLoader(clazz.getClassLoader(), resource); } if ( isEmpty( list ) && resource.startsWith( "/" ) ) { resource = resource.substring( 1 ); return paths( clazz, resource ); } return list; }
public static List<URL> classpathResources( ClassLoader loader, String resource ) { try { Enumeration<URL> resources = loader.getResources( resource ); List<URL> list = Lists.list(resources); if ( isEmpty( list ) && resource.startsWith( "/" ) ) { resource = resource.substring( 1 ); return classpathResources( loader, resource ); } return list; } catch ( Exception ex ) { return Exceptions.handle(List.class, Str.sputs("Unable to load listFromClassLoader for", resource), ex); } }