Class GenerationContext

java.lang.Object
com.fluxtion.builder.generation.GenerationContext

public class GenerationContext
extends java.lang.Object
Context for the generated output of the SEP. Provides functions to control generation outputs from Fluxtion, but is not used to describe the graph processing structure of a SEP.
Author:
Greg Higgins
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.ClassLoader DEFAULT_CLASSLOADER  
    java.io.File resourcesOutputDirectory  
    java.io.File resourcesRootDirectory
    the output directory for the code generation
    static GenerationContext SINGLETON  
  • Constructor Summary

    Constructors 
    Constructor Description
    GenerationContext​(java.lang.String packageName, java.lang.String sepClassName, java.io.File outputDirectory, java.io.File resourcesRootDirectory)  
  • Method Summary

    Modifier and Type Method Description
    <T> T addOrUseExistingNode​(T node)  
    void createResourceDirectory()  
    <T> java.lang.Class<T> forName​(java.lang.String name)
    Performs a class.forName operation on the cached classes that have been compiled into this GenerationContext
    <K,​ V> java.util.Map<K,​V> getCache​(java.lang.Object key)
    a cache that is tied to this generation context instance.
    java.util.List getNodeList()  
    <T> T nameNode​(T node, java.lang.String name)  
    static int nextId()
    A global counter, can be used for generating unique class names.
    int nextId​(java.lang.String className)  
    static java.lang.String readText​(java.lang.String resourceName)  
    <K,​ V> java.util.Map<K,​V> removeCache​(java.lang.Object key)
    removes a cache map from this instance by key.
    static void setupStaticContext​(java.lang.ClassLoader classLoader, java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory, boolean createResourceDirectory, java.io.File buildOutputDirectory, boolean createBuildOutputDirectory)  
    static void setupStaticContext​(java.lang.ClassLoader classLoader, java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory, boolean createResourceDirectory, java.io.File buildOutputDirectory, boolean createBuildOutputDirectory, CachedCompiler cachedCompiler)  
    static void setupStaticContext​(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory)  
    static void setupStaticContext​(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory, boolean createResourceDirectory)  
    static void updateContext​(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory)  

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • GenerationContext

      public GenerationContext​(java.lang.String packageName, java.lang.String sepClassName, java.io.File outputDirectory, java.io.File resourcesRootDirectory)
  • Method Details

    • nextId

      public static int nextId()
      A global counter, can be used for generating unique class names.
      Returns:
      next id.
    • nextId

      public int nextId​(java.lang.String className)
    • updateContext

      public static void updateContext​(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory)
    • setupStaticContext

      public static void setupStaticContext​(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory)
    • setupStaticContext

      public static void setupStaticContext​(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory, boolean createResourceDirectory)
    • setupStaticContext

      public static void setupStaticContext​(java.lang.ClassLoader classLoader, java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory, boolean createResourceDirectory, java.io.File buildOutputDirectory, boolean createBuildOutputDirectory)
    • setupStaticContext

      public static void setupStaticContext​(java.lang.ClassLoader classLoader, java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory, boolean createResourceDirectory, java.io.File buildOutputDirectory, boolean createBuildOutputDirectory, CachedCompiler cachedCompiler)
    • createResourceDirectory

      public void createResourceDirectory()
    • getNodeList

      public java.util.List getNodeList()
    • addOrUseExistingNode

      public <T> T addOrUseExistingNode​(T node)
    • forName

      public <T> java.lang.Class<T> forName​(java.lang.String name)
      Performs a class.forName operation on the cached classes that have been compiled into this GenerationContext
      Type Parameters:
      T -
      Parameters:
      name -
      Returns:
    • getCache

      public <K,​ V> java.util.Map<K,​V> getCache​(java.lang.Object key)
      a cache that is tied to this generation context instance. A new Map will be created for each unique cache key.
      Type Parameters:
      K - The key type of the cache map
      V - The value type of the cache map
      Parameters:
      key - the cache key
      Returns:
      the newly created map
    • nameNode

      public <T> T nameNode​(T node, java.lang.String name)
    • removeCache

      public <K,​ V> java.util.Map<K,​V> removeCache​(java.lang.Object key)
      removes a cache map from this instance by key.
      Type Parameters:
      K - The key type of the cache map
      V - The value type of the cache map
      Parameters:
      key - the cache key
      Returns:
      The mapping of the map removed or null if no mapping
    • readText

      public static java.lang.String readText​(@NotNull java.lang.String resourceName) throws java.io.IOException
      Throws:
      java.io.IOException