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 Detail

      • interpreter

        private final bsh.Interpreter interpreter
        Beanshell interpreter.
      • condition

        private java.lang.String condition
        The condition to be evaluated.
      • evaluator

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

      • EvaluateBeanshell

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

      • setCondition

        public void setCondition​(java.lang.String condition)
      • getCondition

        public java.lang.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
        EnforcerRuleError - in order to brake a build immediately
      • evaluateCondition

        private boolean evaluateCondition​(java.lang.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object