1 9 package com.vladium.util; 10 11 import java.io.IOException ; 12 import java.io.InputStream ; 13 import java.net.URL ; 14 import java.util.Enumeration ; 15 16 25 public 26 abstract class ResourceLoader 27 { 28 30 33 public static Class loadClass (final String name) 34 throws ClassNotFoundException 35 { 36 final Class caller = ClassLoaderResolver.getCallerClass (1); 37 final ClassLoader loader = ClassLoaderResolver.getClassLoader (caller); 38 39 return Class.forName (name, false, loader); 40 } 41 42 45 public static URL getResource (final String name) 46 { 47 final Class caller = ClassLoaderResolver.getCallerClass (1); 48 final ClassLoader loader = ClassLoaderResolver.getClassLoader (caller); 49 50 if (loader != null) 51 return loader.getResource (name); 52 else 53 return ClassLoader.getSystemResource (name); 54 } 55 56 59 public static InputStream getResourceAsStream (final String name) 60 { 61 final Class caller = ClassLoaderResolver.getCallerClass (1); 62 final ClassLoader loader = ClassLoaderResolver.getClassLoader (caller); 63 64 if (loader != null) 65 return loader.getResourceAsStream (name); 66 else 67 return ClassLoader.getSystemResourceAsStream (name); 68 } 69 70 73 public static Enumeration getResources (final String name) 74 throws IOException 75 { 76 final Class caller = ClassLoaderResolver.getCallerClass (1); 77 final ClassLoader loader = ClassLoaderResolver.getClassLoader (caller); 78 79 if (loader != null) 80 return loader.getResources (name); 81 else 82 return ClassLoader.getSystemResources (name); 83 } 84 85 86 public static Class loadClass (final String name, final ClassLoader loader) 87 throws ClassNotFoundException 88 { 89 return Class.forName (name, false, loader != null ? loader : ClassLoader.getSystemClassLoader ()); 90 } 91 92 public static URL getResource (final String name, final ClassLoader loader) 93 { 94 if (loader != null) 95 return loader.getResource (name); 96 else 97 return ClassLoader.getSystemResource (name); 98 } 99 100 public static InputStream getResourceAsStream (final String name, final ClassLoader loader) 101 { 102 if (loader != null) 103 return loader.getResourceAsStream (name); 104 else 105 return ClassLoader.getSystemResourceAsStream (name); 106 } 107 108 public static Enumeration getResources (final String name, final ClassLoader loader) 109 throws IOException 110 { 111 if (loader != null) 112 return loader.getResources (name); 113 else 114 return ClassLoader.getSystemResources (name); 115 } 116 117 119 121 123 124 private ResourceLoader () {} 126 } | Popular Tags |