Class WithMemoryRulesBinder

java.lang.Object
org.apache.commons.digester3.annotations.WithMemoryRulesBinder
All Implemented Interfaces:
RulesBinder

final class WithMemoryRulesBinder extends Object implements RulesBinder
A RulesBinder implementation with memory to maintain which classes have already been analyzed.
Since:
3.0
  • Field Details

    • boundClasses

      private final Set<Class<?>> boundClasses
      Maintains all the classes that this RuleSet produces mapping for.
    • wrappedRulesBinder

      private final RulesBinder wrappedRulesBinder
  • Constructor Details

    • WithMemoryRulesBinder

      public WithMemoryRulesBinder(RulesBinder wrappedRulesBinder)
  • Method Details

    • getContextClassLoader

      public ClassLoader getContextClassLoader()
      Returns the context ClassLoader.
      Specified by:
      getContextClassLoader in interface RulesBinder
      Returns:
      The context ClassLoader
    • addError

      public void addError(String messagePattern, Object... arguments)
      Records an error message which will be presented to the user at a later time. Unlike throwing an exception, this enable us to continue configuring the Digester and discover more errors. Uses String.format(String, Object[]) to insert the arguments into the message.
      Specified by:
      addError in interface RulesBinder
      Parameters:
      messagePattern - The message string pattern
      arguments - Arguments referenced by the format specifiers in the format string
    • addError

      public void addError(Throwable t)
      Records an exception, the full details of which will be logged, and the message of which will be presented to the user at a later time. If your Module calls something that you worry may fail, you should catch the exception and pass it into this.
      Specified by:
      addError in interface RulesBinder
      Parameters:
      t - The exception has to be recorded.
    • install

      public void install(RulesModule rulesModule)
      Allows sub-modules inclusion while binding rules.
      Specified by:
      install in interface RulesBinder
      Parameters:
      rulesModule - the sub-module has to be included.
    • forPattern

      public LinkedRuleBuilder forPattern(String pattern)
      Allows to associate the given pattern to one or more Digester rules.
      Specified by:
      forPattern in interface RulesBinder
      Parameters:
      pattern - The pattern that this rule should match
      Returns:
      The Digester rules builder
    • markAsBound

      public boolean markAsBound(Class<?> bindingClass)
      Parameters:
      bindingClass -
      Returns:
      true if the specified element has not yet been marked
    • isAlreadyBound

      public boolean isAlreadyBound(Class<?> bindingClass)
      Parameters:
      bindingClass -
      Returns:
      true if the specified element has been marked