Class EvaluateBeanshell

All Implemented Interfaces:
EnforcerRuleBase

@Named("evaluateBeanshell") public final class EvaluateBeanshell extends AbstractStandardEnforcerRule
Rule for Maven Enforcer using Beanshell to evaluate a conditional expression.
  • Field Details

    • interpreter

      private final bsh.Interpreter interpreter
      Beanshell interpreter.
    • condition

      private String condition
      The condition to be evaluated.
    • evaluator

      private final org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator evaluator
  • Constructor Details

    • EvaluateBeanshell

      @Inject public EvaluateBeanshell(org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator evaluator)
  • Method Details

    • setCondition

      public void setCondition(String condition)
    • getCondition

      public String getCondition()
    • execute

      public void execute() throws EnforcerRuleException
      Description copied from class: AbstractEnforcerRule
      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 and rule level if it should stop or just log the message as a warning.
      Specified by:
      execute in class AbstractEnforcerRule
      Throws:
      EnforcerRuleException - the enforcer rule exception
    • evaluateCondition

      private boolean evaluateCondition(String script) throws EnforcerRuleException
      Evaluate expression using Beanshell.
      Parameters:
      script - the expression to be evaluated
      Returns:
      boolean the evaluation of the expression
      Throws:
      EnforcerRuleException - if the script could not be evaluated
    • toString

      public String toString()
      Overrides:
      toString in class Object