Class LayeredClassLoader.Builder

java.lang.Object
ch.grengine.load.LayeredClassLoader.Builder
Enclosing class:
LayeredClassLoader

public static class LayeredClassLoader.Builder extends Object
Builder for instances of LayeredClassLoader.
Since:
1.0
Author:
Alain Stalder, Made in Switzerland.
  • Constructor Details

    • Builder

      public Builder()
      constructor.
      Since:
      1.0
  • Method Details

    • setParent

      public LayeredClassLoader.Builder setParent(ClassLoader parent)
      sets the parent class loader, default is the context class loader of the current thread.
      Parameters:
      parent - parent class loader
      Returns:
      this, for chaining calls
      Since:
      1.0
    • setLoadMode

      public LayeredClassLoader.Builder setLoadMode(LoadMode loadMode)
      sets the load mode for the (static) code layers, default is "current first".
      Parameters:
      loadMode - load mode for the (static) code layers
      Returns:
      this, for chaining calls
      Since:
      1.0
    • setSourcesLayers

      public LayeredClassLoader.Builder setSourcesLayers(List<Sources> sourcesLayers)
      sets the sources layers, default is no layers.
      Parameters:
      sourcesLayers - sources layers
      Returns:
      this, for chaining calls
      Since:
      1.0
    • setSourcesLayers

      public LayeredClassLoader.Builder setSourcesLayers(Sources... sourcesLayers)
      sets the sources layers, default is no layers.
      Parameters:
      sourcesLayers - sources layers
      Returns:
      this, for chaining calls
      Since:
      1.0
    • setCodeLayers

      public LayeredClassLoader.Builder setCodeLayers(List<Code> codeLayers)
      sets the code layers, default is no layers.
      Parameters:
      codeLayers - code layers
      Returns:
      this, for chaining calls
      Since:
      1.0
    • setCodeLayers

      public LayeredClassLoader.Builder setCodeLayers(Code... codeLayers)
      sets the code layers, default is no layers.
      Parameters:
      codeLayers - code layers
      Returns:
      this, for chaining calls
      Since:
      1.0
    • setWithTopCodeCache

      public LayeredClassLoader.Builder setWithTopCodeCache(boolean isWithTopCodeCache, TopCodeCache topCodeCache)
      sets whether to use the top code cache or not, along with the top code cache (OK to pass null if setting to false), default is not to use a top code cache.

      Note that the default is the opposite in the LayeredEngine.

      Parameters:
      isWithTopCodeCache - whether to use the top code cache or not
      topCodeCache - top code cache (OK to pass null if setting to false)
      Returns:
      this, for chaining calls
      Since:
      1.0
    • setTopLoadMode

      public LayeredClassLoader.Builder setTopLoadMode(LoadMode topLoadMode)
      sets the load mode for the top code cache, default is "parent first".
      Parameters:
      topLoadMode - load mode for the top code cache
      Returns:
      this, for chaining calls
      Since:
      1.0
    • getParent

      public ClassLoader getParent()
      gets the parent class loader.
      Returns:
      parent class loader
      Since:
      1.0
    • getLoadMode

      public LoadMode getLoadMode()
      gets the load mode for the (static) code layers.
      Returns:
      load mode for the (static) code layers
      Since:
      1.0
    • getSourcesLayers

      public List<Sources> getSourcesLayers()
      gets the sources layers.
      Returns:
      sources layers
      Since:
      1.0
    • getCodeLayers

      public List<Code> getCodeLayers()
      gets the code layers.
      Returns:
      code layers
      Since:
      1.0
    • isWithTopCodeCache

      public boolean isWithTopCodeCache()
      gets whether to use the top code cache or not.
      Returns:
      whether to use the top code cache or not
      Since:
      1.0
    • getTopCodeCache

      public TopCodeCache getTopCodeCache()
      gets the top code cache.
      Returns:
      top code cache
      Since:
      1.0
    • getTopLoadMode

      public LoadMode getTopLoadMode()
      gets the top load mode.
      Returns:
      top load mode
      Since:
      1.0
    • buildFromCodeLayers

      public LayeredClassLoader buildFromCodeLayers()
      builds a new instance of LayeredClassLoader based on already compiled code layers.
      Returns:
      new instance
      Since:
      1.0
    • buildFromSourcesLayers

      public LayeredClassLoader buildFromSourcesLayers()
      builds a new instance of LayeredClassLoader based on sources to compile to code layers.
      Returns:
      new instance
      Throws:
      CompileException - if compiling the sources layers failed
      Since:
      1.0