Class FinderFromDfltClass


  • public class FinderFromDfltClass
    extends RuleFinder
    A rule-finding algorithm which looks for a method with a specific name on a class whose name is derived from the plugin class name.
    Since:
    1.6
    • Field Detail

      • DFLT_RULECLASS_SUFFIX

        public static java.lang.String DFLT_RULECLASS_SUFFIX
      • DFLT_METHOD_NAME

        public static java.lang.String DFLT_METHOD_NAME
      • rulesClassSuffix

        private java.lang.String rulesClassSuffix
      • methodName

        private java.lang.String methodName
    • Constructor Detail

      • FinderFromDfltClass

        public FinderFromDfltClass​(java.lang.String rulesClassSuffix,
                                   java.lang.String methodName)
        Create a rule-finder which invokes a method on a class whenever dynamic rules for a plugin need to be loaded. See the findRules method for more info.
        Parameters:
        rulesClassSuffix - must be non-null.
        methodName - may be null.
    • Method Detail

      • findLoader

        public RuleLoader findLoader​(Digester digester,
                                     java.lang.Class pluginClass,
                                     java.util.Properties p)
                              throws PluginException
        If there exists a class whose name is the plugin class name + the suffix specified to the constructor, then load that class, locate the appropriate rules-adding method on that class, and return an object encapsulating that info.

        If there is no such class, then just return null.

        The returned object (when non-null) will invoke the target method on the selected class whenever its addRules method is invoked. The target method is expected to have the following prototype: public static void xxxxx(Digester d, String patternPrefix);

        Specified by:
        findLoader in class RuleFinder
        Throws:
        PluginException