Class EvaluateBeanshell

All Implemented Interfaces:
EnforcerRule, EnforcerRule2

public class EvaluateBeanshell extends AbstractNonCacheableEnforcerRule
Rule for Maven Enforcer using Beanshell to evaluate a conditional expression.
  • Field Details

    • BSH

      private static final bsh.Interpreter BSH
      Beanshell interpreter.
    • condition

      private String condition
      The condition to be evaluated.
  • Constructor Details

    • EvaluateBeanshell

      public EvaluateBeanshell()
  • Method Details

    • setCondition

      public final void setCondition(String condition)
    • getCondition

      public final String getCondition()
    • execute

      public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException
      Description copied from interface: EnforcerRule
      This is the interface into the rule. This method should throw an exception containing a reason message if the rule fails the check. The plugin will then decide based on the fail flag if it should stop or just log the message as a warning.
      Parameters:
      helper - The helper provides access to the log, MavenSession and has helpers to get common components. It is also able to lookup components by class name.
      Throws:
      EnforcerRuleException - the enforcer rule exception
    • evaluateCondition

      protected boolean evaluateCondition(String script, org.apache.maven.plugin.logging.Log log) throws EnforcerRuleException
      Evaluate expression using Beanshell.
      Parameters:
      script - the expression to be evaluated
      log - the logger
      Returns:
      boolean the evaluation of the expression
      Throws:
      EnforcerRuleException - if the script could not be evaluated