Class ClasspathResourceLoader

  • All Implemented Interfaces:
    ResourceLoader

    public final class ClasspathResourceLoader
    extends java.lang.Object
    implements ResourceLoader
    Simple ResourceLoader that uses ClassLoader.getResourceAsStream(String) and Class.forName(String,boolean,ClassLoader) to open resources and classes, respectively.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Class<?> clazz  
      private java.lang.ClassLoader loader  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        ClasspathResourceLoader()
      Deprecated.
      You should not use this ctor, because it uses the thread's context class loader, which is bad programming style.
        ClasspathResourceLoader​(java.lang.Class<?> clazz)
      Creates an instance using the context classloader to load Resources and classes Resources are resolved relative to the given class, if path is not absolute.
      private ClasspathResourceLoader​(java.lang.Class<?> clazz, java.lang.ClassLoader loader)  
        ClasspathResourceLoader​(java.lang.ClassLoader loader)
      Creates an instance using the given classloader to load Resources and classes.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> java.lang.Class<? extends T> findClass​(java.lang.String cname, java.lang.Class<T> expectedType)
      Finds class of the name and expected type
      <T> T newInstance​(java.lang.String cname, java.lang.Class<T> expectedType)
      Creates an instance of the name and expected type
      java.io.InputStream openResource​(java.lang.String resource)
      Opens a named resource
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • clazz

        private final java.lang.Class<?> clazz
      • loader

        private final java.lang.ClassLoader loader
    • Constructor Detail

      • ClasspathResourceLoader

        @Deprecated
        public ClasspathResourceLoader()
        Deprecated.
        You should not use this ctor, because it uses the thread's context class loader, which is bad programming style. Please specify a reference class or a ClassLoader instead.
        Creates an instance using the context classloader to load resources and classes. Resource paths must be absolute.
        See Also:
        ClasspathResourceLoader(ClassLoader), ClasspathResourceLoader(Class)
      • ClasspathResourceLoader

        public ClasspathResourceLoader​(java.lang.ClassLoader loader)
        Creates an instance using the given classloader to load Resources and classes. Resource paths must be absolute.
      • ClasspathResourceLoader

        public ClasspathResourceLoader​(java.lang.Class<?> clazz)
        Creates an instance using the context classloader to load Resources and classes Resources are resolved relative to the given class, if path is not absolute.
      • ClasspathResourceLoader

        private ClasspathResourceLoader​(java.lang.Class<?> clazz,
                                        java.lang.ClassLoader loader)
    • Method Detail

      • openResource

        public java.io.InputStream openResource​(java.lang.String resource)
                                         throws java.io.IOException
        Description copied from interface: ResourceLoader
        Opens a named resource
        Specified by:
        openResource in interface ResourceLoader
        Throws:
        java.io.IOException
      • findClass

        public <T> java.lang.Class<? extends T> findClass​(java.lang.String cname,
                                                          java.lang.Class<T> expectedType)
        Description copied from interface: ResourceLoader
        Finds class of the name and expected type
        Specified by:
        findClass in interface ResourceLoader
      • newInstance

        public <T> T newInstance​(java.lang.String cname,
                                 java.lang.Class<T> expectedType)
        Description copied from interface: ResourceLoader
        Creates an instance of the name and expected type
        Specified by:
        newInstance in interface ResourceLoader