Class DigesterLoader

java.lang.Object
org.apache.commons.digester.annotations.DigesterLoader

public final class DigesterLoader extends Object
This class manages the creation of Digester instances analyzing target classes annotated with digester annotations.
Since:
2.1
  • Field Details

  • Constructor Details

  • Method Details

    • getAnnotationRuleProviderFactory

      protected AnnotationRuleProviderFactory getAnnotationRuleProviderFactory()
    • getDigesterLoaderHandlerFactory

      protected DigesterLoaderHandlerFactory getDigesterLoaderHandlerFactory()
    • createDigester

      public Digester createDigester(Class<?> target)
      Creates a new digester which rules are defined by analyzing the digester annotations in the target class.
      Parameters:
      target - the class has to be analyzed.
      Returns:
      a new Digester instance.
    • addRules

      public void addRules(Class<?> target, Digester digester)
      Add rules to an already created Digester instance, analyzing the digester annotations in the target class.
      Parameters:
      target - the class has to be analyzed.
      digester - the Digester instance reference.
    • getRuleSet

      public RuleSet getRuleSet(Class<?> target)
      Builds a new RuleSet analyzing the digester annotations in the target class. It avoids iterate the annotations analysis for already analyzed classes, using an in-memory LRU cache.
      Parameters:
      target - the class has to be analyzed.
      Returns:
      a new RuleSet.
    • addRulesTo

      public void addRulesTo(Class<?> target, FromAnnotationsRuleSet ruleSet)
      Analyzes the target class and adds the AnnotationRuleProviders to the existing FromAnnotationsRuleSet.
      Parameters:
      target - the class has to be analyzed.
      ruleSet - the RuleSet where adding the providers.
    • handle

      private void handle(AnnotatedElement element, FromAnnotationsRuleSet ruleSet)
      Executes an analysis for each annotation present in the element.
      Parameters:
      element - the current element under analysis.
      ruleSet - the ruleSet where add providers.
    • handle

      private <A extends Annotation, E extends AnnotatedElement, R extends Rule> void handle(A annotation, E element, FromAnnotationsRuleSet ruleSet)
      Handles the current visited element and related annotation, invoking the right handler putting the rule provider in the rule set.
      Parameters:
      annotation - the current visited annotation.
      element - the current visited element.