Package com.fluxtion.builder.node
Class SEPConfig
java.lang.Object
com.fluxtion.builder.node.SEPConfig
public class SEPConfig
extends java.lang.Object
Configuration used by Fluxtion event stream compiler at generation time to
control the output of the generated static event processor. The properties
control the logical configuration of the compilation and not the physical
location of input/output resources.
- Author:
- Greg Higgins
-
Field Summary
Fields Modifier and Type Field Description booleanassignPrivateMembersattempt to assign private member variables, some platforms will support access to non-public scoped members.java.util.HashMap<java.lang.String,com.fluxtion.api.audit.Auditor>auditorMapjava.util.Map<java.lang.String,java.lang.String>class2replaceMap an original fully qualified class name into a new value.java.lang.StringdebugTemplateFilethe name of the template file to use as an inputDeclarativeNodeConigurationdeclarativeConfigNode Factory configurationjava.util.Map<java.lang.Object,java.lang.Integer>filterMapoverrides the filter integer id's for a set of instancesbooleanformatSourcebooleangenerateDebugPrepgenerate a set of debugging classes that can be used with the SEP and debugging tool sets.booleangenerateDescriptionFlag controlling generation of meta data description resources.booleangenerateTestDecoratorGenerate a test decorator.booleaninlineEventHandlingconfigures generated code to inline the event handling methods or not.java.lang.StringintrospectorTemplateFilethe name of the template file to use as an inputintmaxFiltersInlineThe maximum number of filter branches inside an event handler before an alternate map-dispatch strategy is employed.java.util.ListnodeListthe nodes included in this graphjava.util.HashMap<java.lang.Object,java.lang.String>publicNodesVariable names overrides for public nodes, these will be well known and addressable from outside the SEP.booleansupportDirtyFilteringconfigures generated code to support dirty filteringjava.lang.ObjecttemplateContextExtensionAn extension point to the generator context.java.lang.StringtemplateFilethe name of the template file to use as an inputjava.lang.StringtestTemplateFilethe name of the template file to use as an input -
Constructor Summary
Constructors Constructor Description SEPConfig() -
Method Summary
Modifier and Type Method Description <T extends com.fluxtion.api.audit.Auditor>
TaddAuditor(T listener, java.lang.String name)Adds anAuditorto this SEP.voidaddEventAudit(com.fluxtion.api.audit.EventLogControlEvent.LogLevel tracingLogLevel)Add anEventLogManagerauditor to the generated SEP.<T> TaddNode(T node)Add a node to the SEP.<T> TaddNode(T node, java.lang.String name)Add a node to the SEP.<T> TaddPublicNode(T node, java.lang.String name)Add a node to the SEP.voidbuildConfig()Users can override this method and add SEP description logic here.com.fluxtion.api.time.Clockclock()adds a clock to the generated SEP.booleanisGenerateLogging()voidmapClass(java.lang.String originalFqn, java.lang.String mappedFqn)Maps a class name from one String to another in the generated output.voidsetGenerateLogging(boolean generateLogging)Sets a flag to add debug logging statements to generated artefacts.java.lang.StringtoString()
-
Field Details
-
templateFile
public java.lang.String templateFilethe name of the template file to use as an input -
debugTemplateFile
public java.lang.String debugTemplateFilethe name of the template file to use as an input -
testTemplateFile
public java.lang.String testTemplateFilethe name of the template file to use as an input -
introspectorTemplateFile
public java.lang.String introspectorTemplateFilethe name of the template file to use as an input -
nodeList
public java.util.List nodeListthe nodes included in this graph -
publicNodes
public java.util.HashMap<java.lang.Object,java.lang.String> publicNodesVariable names overrides for public nodes, these will be well known and addressable from outside the SEP. -
auditorMap
public java.util.HashMap<java.lang.String,com.fluxtion.api.audit.Auditor> auditorMap -
declarativeConfig
Node Factory configuration -
filterMap
public java.util.Map<java.lang.Object,java.lang.Integer> filterMapoverrides the filter integer id's for a set of instances -
templateContextExtension
public java.lang.Object templateContextExtensionAn extension point to the generator context. This instance will be available in the templating context under the key MODEL_EXTENSION -
inlineEventHandling
public boolean inlineEventHandlingconfigures generated code to inline the event handling methods or not. -
supportDirtyFiltering
public boolean supportDirtyFilteringconfigures generated code to support dirty filtering -
generateDebugPrep
public boolean generateDebugPrepgenerate a set of debugging classes that can be used with the SEP and debugging tool sets. -
generateDescription
public boolean generateDescriptionFlag controlling generation of meta data description resources. not required, default = true. -
generateTestDecorator
public boolean generateTestDecoratorGenerate a test decorator. -
assignPrivateMembers
public boolean assignPrivateMembersattempt to assign private member variables, some platforms will support access to non-public scoped members. e.g. reflection utilities in Java. -
formatSource
public boolean formatSource -
maxFiltersInline
public int maxFiltersInlineThe maximum number of filter branches inside an event handler before an alternate map-dispatch strategy is employed. -
class2replace
public final java.util.Map<java.lang.String,java.lang.String> class2replaceMap an original fully qualified class name into a new value. Can be useful if generated code wants to remove all dependencies to Fluxtion classes and replaced with user classes.
-
-
Constructor Details
-
SEPConfig
public SEPConfig()
-
-
Method Details
-
addNode
public <T> T addNode(T node)Add a node to the SEP. The node will have private final scope, the variable name of the node will be generated fromNodeNameProducerstrategy.Fluxtion will check if this node is already in the node set and will return the previously added node.
- Type Parameters:
T- The type of the node to add to the SEP- Parameters:
node- the node instance to add- Returns:
- The de-duplicated added node
-
addNode
public <T> T addNode(T node, java.lang.String name)Add a node to the SEP. The node will have public final scope, the variable name of the node will be generated fromNodeNameProducerstrategy if the provided name is null.Fluxtion will check if this node is already in the node set and will return the previously added node.
- Type Parameters:
T- The type of the node to add to the SEP- Parameters:
node- the node instance to addname- the variable name of the node- Returns:
- The de-duplicated added node
-
addPublicNode
public <T> T addPublicNode(T node, java.lang.String name)Add a node to the SEP. The node will have public final scope, the variable name of the node will be generated fromNodeNameProducerstrategy if the provided name is null.Fluxtion will check if this node is already in the node set and will return the previously added node.
- Type Parameters:
T- The type of the node to add to the SEP- Parameters:
node- the node instance to addname- the variable name of the node- Returns:
- The de-duplicated added node
-
addAuditor
public <T extends com.fluxtion.api.audit.Auditor> T addAuditor(T listener, java.lang.String name)Adds anAuditorto this SEP. The Auditor will have public final scope and can be accessed via the provided variable name.- Type Parameters:
T- The type of the Auditor- Parameters:
listener- Auditor instancename- public name of Auditor- Returns:
- the added Auditor
-
mapClass
public void mapClass(java.lang.String originalFqn, java.lang.String mappedFqn)Maps a class name from one String to another in the generated output.- Parameters:
originalFqn- Class name to replacemappedFqn- Class name replacement
-
clock
public com.fluxtion.api.time.Clock clock()adds a clock to the generated SEP.- Returns:
- the clock in generated SEP
-
addEventAudit
public void addEventAudit(com.fluxtion.api.audit.EventLogControlEvent.LogLevel tracingLogLevel)Add anEventLogManagerauditor to the generated SEP. Specify the level at which method tracing will take place.- Parameters:
tracingLogLevel-
-
buildConfig
public void buildConfig()Users can override this method and add SEP description logic here. The buildConfig method will be called by the Fluxtion generator at build time. -
isGenerateLogging
public boolean isGenerateLogging() -
setGenerateLogging
public final void setGenerateLogging(boolean generateLogging)Sets a flag to add debug logging statements to generated artefacts. The generator may or may not ne implemented to change its output, there is no guarantee setting this flag will add debug logging.- Parameters:
generateLogging-
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-