Class MVELConsequenceBuilder

  • All Implemented Interfaces:
    org.drools.compiler.rule.builder.ConsequenceBuilder

    public class MVELConsequenceBuilder
    extends java.lang.Object
    implements org.drools.compiler.rule.builder.ConsequenceBuilder
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.Map<java.lang.String,​org.mvel2.Macro> macros  
      • Fields inherited from interface org.drools.compiler.rule.builder.ConsequenceBuilder

        CONSEQUENCE_SERIAL_UID
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void build​(org.drools.compiler.rule.builder.RuleBuildContext context, java.lang.String consequenceName)  
      static java.lang.String delimitExpressions​(java.lang.String s)
      Allows newlines to demarcate expressions, as per MVEL command line.
      static java.lang.String processMacros​(java.lang.String consequence)  
      static java.lang.String rewriteUpdates​(java.util.function.Function<java.lang.String,​java.lang.Class<?>> classResolver, java.util.function.Function<java.lang.Class<?>,​java.util.List<java.lang.String>> propsResolver, java.lang.String text)  
      • Methods inherited from class java.lang.Object

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

      • macros

        public static final java.util.Map<java.lang.String,​org.mvel2.Macro> macros
    • Constructor Detail

      • MVELConsequenceBuilder

        public MVELConsequenceBuilder()
    • Method Detail

      • build

        public void build​(org.drools.compiler.rule.builder.RuleBuildContext context,
                          java.lang.String consequenceName)
        Specified by:
        build in interface org.drools.compiler.rule.builder.ConsequenceBuilder
      • rewriteUpdates

        public static java.lang.String rewriteUpdates​(java.util.function.Function<java.lang.String,​java.lang.Class<?>> classResolver,
                                                      java.util.function.Function<java.lang.Class<?>,​java.util.List<java.lang.String>> propsResolver,
                                                      java.lang.String text)
      • processMacros

        public static java.lang.String processMacros​(java.lang.String consequence)
      • delimitExpressions

        public static java.lang.String delimitExpressions​(java.lang.String s)
        Allows newlines to demarcate expressions, as per MVEL command line. If expression spans multiple lines (ie inside an unbalanced bracket) then it is left alone. Uses character based iteration which is at least an order of magnitude faster then a single simple regex.