Class WebClassLoader


  • public class WebClassLoader
    extends java.lang.ClassLoader
    A class loader for a WebSite.
    • Constructor Summary

      Constructors 
      Constructor Description
      WebClassLoader​(WebSite aSnapSite)
      Creates a new DataClassLoader.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      WebFile getBuildFile​(java.lang.String aPath)
      Returns a build file for site.
      java.lang.String getBuildPath()
      Returns the build path for site.
      java.lang.String getBuildPath​(java.lang.String aPath)
      Returns the build path for site.
      WebFile getClassFile​(java.lang.String aClassName)
      Returns a ClassFile for class name.
      java.lang.Class getClassForName​(java.lang.String aName)
      Returns whether name is known class name.
      WebFile getJavaFile​(java.lang.String aClassName)
      Returns a JavaFile for class name.
      java.lang.Package getPackage​(java.lang.String name)
      Make this public.
      java.io.InputStream getResourceAsStream​(java.lang.String aPath)
      Returns resource as string.
      WebSite getSite()
      Returns the WebSite.
      WebFile getSourceFile​(java.lang.String aPath)
      Returns a source file for site.
      java.lang.String getSourcePath()
      Returns the source path for site.
      java.lang.String getSourcePath​(java.lang.String aPath)
      Returns the source path for site.
      WebURL getURL​(java.lang.String aPath)
      Returns resource as string.
      boolean isKnownClassName​(java.lang.String aClassName)
      Returns whether name is known class name.
      boolean isKnownPackageName​(java.lang.String aName)
      Returns whether name is known package name.
      protected java.lang.Class<?> loadClass​(java.lang.String aName, boolean doRes)
      Override to find and use site classes when available.
      • Methods inherited from class java.lang.ClassLoader

        clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

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

      • WebClassLoader

        public WebClassLoader​(WebSite aSnapSite)
        Creates a new DataClassLoader.
    • Method Detail

      • getSite

        public WebSite getSite()
        Returns the WebSite.
      • getURL

        public WebURL getURL​(java.lang.String aPath)
        Returns resource as string.
      • getResourceAsStream

        public java.io.InputStream getResourceAsStream​(java.lang.String aPath)
        Returns resource as string.
        Overrides:
        getResourceAsStream in class java.lang.ClassLoader
      • loadClass

        protected java.lang.Class<?> loadClass​(java.lang.String aName,
                                               boolean doRes)
                                        throws java.lang.ClassNotFoundException
        Override to find and use site classes when available. Can't override findClass(name) because we might need to suppress Snap runtime classes (and parent will load them).
        Overrides:
        loadClass in class java.lang.ClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • isKnownClassName

        public boolean isKnownClassName​(java.lang.String aClassName)
        Returns whether name is known class name.
      • getClassForName

        public java.lang.Class getClassForName​(java.lang.String aName)
        Returns whether name is known class name.
      • isKnownPackageName

        public boolean isKnownPackageName​(java.lang.String aName)
        Returns whether name is known package name.
      • getPackage

        public java.lang.Package getPackage​(java.lang.String name)
        Make this public.
        Overrides:
        getPackage in class java.lang.ClassLoader
      • getSourcePath

        public java.lang.String getSourcePath()
        Returns the source path for site.
      • getBuildPath

        public java.lang.String getBuildPath()
        Returns the build path for site.
      • getSourcePath

        public java.lang.String getSourcePath​(java.lang.String aPath)
        Returns the source path for site.
      • getBuildPath

        public java.lang.String getBuildPath​(java.lang.String aPath)
        Returns the build path for site.
      • getSourceFile

        public WebFile getSourceFile​(java.lang.String aPath)
        Returns a source file for site.
      • getBuildFile

        public WebFile getBuildFile​(java.lang.String aPath)
        Returns a build file for site.
      • getClassFile

        public WebFile getClassFile​(java.lang.String aClassName)
        Returns a ClassFile for class name.
      • getJavaFile

        public WebFile getJavaFile​(java.lang.String aClassName)
        Returns a JavaFile for class name.