Class PageClassLoader

java.lang.Object
java.lang.ClassLoader
fc.web.page.PageClassLoader

public class PageClassLoader extends ClassLoader
A classloader that loads molly server pages. Each page is loaded by it's own separate ClassLoader.

If a page changes on disk (this is tracked by PageMgr), then the new page is loaded by a new instance of this class. Loaded pages are casted to the non-reloadable Page interface. This Page interface itself is loaded by a parent (typically JVM/system) classloader.

  • Constructor Details

    • PageClassLoader

      public PageClassLoader(Log log)
      Parameters:
      log - logging destination.
      scratch - absolute path to the scratch dir
    • PageClassLoader

      public PageClassLoader()
      Calls PageClassLoader with the logger set to: fc.web.page.PageClassLoader
  • Method Details

    • loadClass

      public Class loadClass(String name, boolean resolve) throws ClassNotFoundException
      Loads a class corresponding to a page (i.e., a name that starts with
      invalid reference
      Page.PackageName
      from. Delegates the loading of all other classes to the parent classloader (typically the system classloader).

      If the page suffix is .mp, then a name such as foo/bar/baz.page is loaded from the scratch dir (from /foo/bar/baz.class).

      Parameters:
      name - a relative page path-name (relative to the page root directory), for example foo/bar/my.page or ./my.page
      Throws:
      ClassNotFoundException
    • main

      public static void main(String[] args) throws Exception
      Throws:
      Exception