Package com.fluxtion.builder.generation
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.ClassLoaderDEFAULT_CLASSLOADERjava.io.FileresourcesOutputDirectoryjava.io.FileresourcesRootDirectorythe output directory for the code generationstatic GenerationContextSINGLETON -
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> TaddOrUseExistingNode(T node)voidcreateResourceDirectory()<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.ListgetNodeList()<T> TnameNode(T node, java.lang.String name)static intnextId()A global counter, can be used for generating unique class names.intnextId(java.lang.String className)static java.lang.StringreadText(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 voidsetupStaticContext(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 voidsetupStaticContext(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 voidsetupStaticContext(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory)static voidsetupStaticContext(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory, boolean createResourceDirectory)static voidupdateContext(java.lang.String packageName, java.lang.String className, java.io.File outputDirectory, java.io.File resourcesRootDirectory)
-
Field Details
-
SINGLETON
-
DEFAULT_CLASSLOADER
public static java.lang.ClassLoader DEFAULT_CLASSLOADER -
resourcesRootDirectory
public java.io.File resourcesRootDirectorythe output directory for the code generation -
resourcesOutputDirectory
public java.io.File resourcesOutputDirectory
-
-
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 mapV- 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 mapV- 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
-