Interface Rule

All Known Implementing Classes:
BaseRule, DSLRule, JavaRule, RestRule, SpelRule

public interface Rule
Interface that all rules must implement.
  • Field Details

    • DEFAULT_TIMEOUT

      static final Duration DEFAULT_TIMEOUT
      Default rule timeout.
    • DEFAULT_MAX_RETRIES

      static final Integer DEFAULT_MAX_RETRIES
      Default rule max retries.
  • Method Details

    • apply

      void apply(RuleContext<?> ctx)
      Executes the rule with a default timeout.
      Parameters:
      ctx - rule context
    • apply

      void apply(RuleContext<?> ctx, Duration timeout)
      Executes the rule with a custom timeout.
      Parameters:
      ctx - rule context
      timeout - timeout
    • apply

      <T> T apply(RuleContext<?> ctx, Class<T> outputType)
      Executes the rules and returns a result.
      Type Parameters:
      T - return type
      Parameters:
      ctx - rule contect
      outputType - rule output type
      Returns:
      result of rule
    • apply

      <T> T apply(RuleContext<?> ctx, Class<T> outputType, Duration timeout)
      Executes the rules, with a custom timeout, and returns a result.
      Type Parameters:
      T - return type
      Parameters:
      ctx - rule context
      outputType - rule output type
      timeout - timeout
      Returns:
      result of rule
    • getName

      String getName()
      Gets the name of the rule.
      Returns:
      rule name
    • getClassification

      String getClassification()
      Gets the classification of the rule.
      Returns:
      rule classification
    • getDependencies

      Set<Rule> getDependencies()
      Gets a set of rules for which this rule depends upon.
      Returns:
      rule dependencies
    • getDescription

      String getDescription()
      Gets the description of the rule.
      Returns:
      rule description
    • getTags

      Map<String,String> getTags()
      Gets the rule's tags.
      Returns:
      rule tags
    • getType

      RuleType getType()
      Gets the type of rule.
      Returns:
      rule type
    • getTimeout

      default Duration getTimeout()
      Gets the timeout.
      Returns:
      timeout
    • getMaxRetries

      default Integer getMaxRetries()
      Gets the number of times the rule should be retried in the event of a failure.
      Returns:
      max retries