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
    boolean assignPrivateMembers
    attempt 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> auditorMap  
    java.util.Map<java.lang.String,​java.lang.String> class2replace
    Map an original fully qualified class name into a new value.
    java.lang.String debugTemplateFile
    the name of the template file to use as an input
    DeclarativeNodeConiguration declarativeConfig
    Node Factory configuration
    java.util.Map<java.lang.Object,​java.lang.Integer> filterMap
    overrides the filter integer id's for a set of instances
    boolean formatSource  
    boolean generateDebugPrep
    generate a set of debugging classes that can be used with the SEP and debugging tool sets.
    boolean generateDescription
    Flag controlling generation of meta data description resources.
    boolean generateTestDecorator
    Generate a test decorator.
    boolean inlineEventHandling
    configures generated code to inline the event handling methods or not.
    java.lang.String introspectorTemplateFile
    the name of the template file to use as an input
    int maxFiltersInline
    The maximum number of filter branches inside an event handler before an alternate map-dispatch strategy is employed.
    java.util.List nodeList
    the nodes included in this graph
    java.util.HashMap<java.lang.Object,​java.lang.String> publicNodes
    Variable names overrides for public nodes, these will be well known and addressable from outside the SEP.
    boolean supportDirtyFiltering
    configures generated code to support dirty filtering
    java.lang.Object templateContextExtension
    An extension point to the generator context.
    java.lang.String templateFile
    the name of the template file to use as an input
    java.lang.String testTemplateFile
    the 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>
    T
    addAuditor​(T listener, java.lang.String name)
    Adds an Auditor to this SEP.
    void addEventAudit​(com.fluxtion.api.audit.EventLogControlEvent.LogLevel tracingLogLevel)
    Add an EventLogManager auditor to the generated SEP.
    <T> T addNode​(T node)
    Add a node to the SEP.
    <T> T addNode​(T node, java.lang.String name)
    Add a node to the SEP.
    <T> T addPublicNode​(T node, java.lang.String name)
    Add a node to the SEP.
    void buildConfig()
    Users can override this method and add SEP description logic here.
    com.fluxtion.api.time.Clock clock()
    adds a clock to the generated SEP.
    boolean isGenerateLogging()  
    void mapClass​(java.lang.String originalFqn, java.lang.String mappedFqn)
    Maps a class name from one String to another in the generated output.
    void setGenerateLogging​(boolean generateLogging)
    Sets a flag to add debug logging statements to generated artefacts.
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

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

    • templateFile

      public java.lang.String templateFile
      the name of the template file to use as an input
    • debugTemplateFile

      public java.lang.String debugTemplateFile
      the name of the template file to use as an input
    • testTemplateFile

      public java.lang.String testTemplateFile
      the name of the template file to use as an input
    • introspectorTemplateFile

      public java.lang.String introspectorTemplateFile
      the name of the template file to use as an input
    • nodeList

      public java.util.List nodeList
      the nodes included in this graph
    • publicNodes

      public java.util.HashMap<java.lang.Object,​java.lang.String> publicNodes
      Variable 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

      public DeclarativeNodeConiguration declarativeConfig
      Node Factory configuration
    • filterMap

      public java.util.Map<java.lang.Object,​java.lang.Integer> filterMap
      overrides the filter integer id's for a set of instances
    • templateContextExtension

      public java.lang.Object templateContextExtension
      An extension point to the generator context. This instance will be available in the templating context under the key MODEL_EXTENSION
    • inlineEventHandling

      public boolean inlineEventHandling
      configures generated code to inline the event handling methods or not.
    • supportDirtyFiltering

      public boolean supportDirtyFiltering
      configures generated code to support dirty filtering
    • generateDebugPrep

      public boolean generateDebugPrep
      generate a set of debugging classes that can be used with the SEP and debugging tool sets.
    • generateDescription

      public boolean generateDescription
      Flag controlling generation of meta data description resources. not required, default = true.
    • generateTestDecorator

      public boolean generateTestDecorator
      Generate a test decorator.
    • assignPrivateMembers

      public boolean assignPrivateMembers
      attempt 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 maxFiltersInline
      The 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> class2replace
      Map 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

  • 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 from NodeNameProducer strategy.

      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 from NodeNameProducer strategy 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 add
      name - 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 from NodeNameProducer strategy 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 add
      name - 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 an Auditor to 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 instance
      name - 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 replace
      mappedFqn - 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 an EventLogManager auditor 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:
      toString in class java.lang.Object