Class PluginCreateRuleBuilder

All Implemented Interfaces:
RuleProvider<PluginCreateRule>

public final class PluginCreateRuleBuilder extends AbstractBackToLinkedRuleBuilder<PluginCreateRule>
Builder chained when invoking LinkedRuleBuilder.createPlugin().
Since:
3.0
  • Field Details

    • pluginClassAttributes

      private final Map<String,String> pluginClassAttributes
    • pluginIdAttributes

      private final Map<String,String> pluginIdAttributes
    • baseClass

      private Class<?> baseClass
    • dfltPluginClass

      private Class<?> dfltPluginClass
    • dfltPluginRuleLoader

      private RuleLoader dfltPluginRuleLoader
  • Constructor Details

  • Method Details

    • ofType

      public <T> PluginCreateRuleBuilder ofType(Class<T> type)
      Set the class which any specified plugin must be descended from.
      Type Parameters:
      T - Any Java type
      Parameters:
      type - the class which any specified plugin must be descended from
      Returns:
      this builder instance
    • usingDefaultPluginClass

      public <T> PluginCreateRuleBuilder usingDefaultPluginClass(Class<T> type)
      Set the class which will be used if the user doesn't specify any plugin-class or plugin-id.
      Type Parameters:
      T - Any Java type
      Parameters:
      type - the class which will be used if the user doesn't specify any plugin-class or plugin-id.
      Returns:
      this builder instance
    • usingRuleLoader

      public <RL extends RuleLoader> PluginCreateRuleBuilder usingRuleLoader(RL ruleLoader)
      Set RuleLoader instance which knows how to load the custom rules associated with the default plugin.
      Type Parameters:
      RL - Any RuleLoader extension.
      Parameters:
      ruleLoader - the RuleLoader instance which knows how to load the custom rules associated with the default plugin.
      Returns:
      this builder instance
    • setPluginClassAttribute

      public PluginCreateRuleBuilder setPluginClassAttribute(String attrName)
      Sets the xml attribute which the input xml uses to indicate to a PluginCreateRule which class should be instantiated.
      Parameters:
      attrName - the xml attribute which the input xml uses to indicate to a PluginCreateRule which class should be instantiated.
      Returns:
      this builder instance
    • setPluginClassAttribute

      public PluginCreateRuleBuilder setPluginClassAttribute(String namespaceUri, String attrName)
      Sets the xml attribute which the input xml uses to indicate to a PluginCreateRule which class should be instantiated.
      Parameters:
      namespaceUri - The attribute NameSpace
      attrName - The attribute name
      Returns:
      this builder instance
    • setPluginIdAttribute

      public PluginCreateRuleBuilder setPluginIdAttribute(String attrName)
      Sets the xml attribute which the input xml uses to indicate to a PluginCreateRule which plugin declaration is being referenced.
      Parameters:
      attrName - The attribute name
      Returns:
      this builder instance
    • setPluginIdAttribute

      public PluginCreateRuleBuilder setPluginIdAttribute(String namespaceUri, String attrName)
      Sets the xml attribute which the input xml uses to indicate to a PluginCreateRule which plugin declaration is being referenced.
      Parameters:
      namespaceUri - The attribute NameSpace
      attrName - The attribute name
      Returns:
      this builder instance
    • addToMap

      private PluginCreateRuleBuilder addToMap(Map<String,String> map, String namespaceUri, String attrName)
      Private internal method to set values to a Map instance and return the current builder.
      Parameters:
      map - The target Map
      namespaceUri - The attribute NameSpace
      attrName - The attribute name
      Returns:
      this builder instance
    • createRule

      protected PluginCreateRule createRule()
      Provides an instance of Rule. Must never return null.
      Specified by:
      createRule in class AbstractBackToLinkedRuleBuilder<PluginCreateRule>
      Returns:
      an instance of Rule.
      See Also: