Class DigesterLoader


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

      • createDigester

        public Digester createDigester​(java.lang.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​(java.lang.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​(java.lang.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.
      • handle

        private void handle​(java.lang.reflect.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 java.lang.annotation.Annotation,​E extends java.lang.reflect.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.