Package org.kie.internal.builder

## Interface KnowledgeBuilderFactoryService

- All Superinterfaces:
    `java.lang.Comparable<org.kie.api.internal.utils.KieService>`, `org.kie.api.internal.utils.KieService`

      public interface KnowledgeBuilderFactoryService
      extends org.kie.api.internal.utils.KieService

  KnowledgeBuilderFactoryService is used by the KnowledgeBuilderFactory to "provide" it's concrete implementation. This class is not considered stable and may change, the user is protected from this change by using the Factory api, which is considered stable.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `DecisionTableConfiguration` | `newDecisionTableConfiguration()` | DecisionTables need to take a configuration of the InputType and XLS based ones can also take a Worksheet name.
    `KnowledgeBuilder` | `newKnowledgeBuilder()` | Instantiate and return a new KnowledgeBuilder using the default KnowledgeBuilderConfiguration
    `KnowledgeBuilder` | `newKnowledgeBuilder​(org.kie.api.KieBase kbase)` |
    `KnowledgeBuilder` | `newKnowledgeBuilder​(org.kie.api.KieBase kbase, KnowledgeBuilderConfiguration conf)` |
    `KnowledgeBuilder` | `newKnowledgeBuilder​(KnowledgeBuilderConfiguration conf)` | Instantiate and return a new KnowledgeBuilder using the given KnowledgeBuilderConfiguration
    `KnowledgeBuilderConfiguration` | `newKnowledgeBuilderConfiguration()` | Instantiate and return a new KnowledgeBuilderConfiguration
    `KnowledgeBuilderConfiguration` | `newKnowledgeBuilderConfiguration​(java.lang.ClassLoader classLoader)` | Instantiate and return a new KnowledgeBuilderConfiguration
    `KnowledgeBuilderConfiguration` | `newKnowledgeBuilderConfiguration​(java.util.Properties properties, java.lang.ClassLoader classLoader)` | Instantiate and return a new KnowledgeBuilderConfiguration

    - ### Methods inherited from interface org.kie.api.internal.utils.KieService

      `compareTo, servicePriority`

- - ### Method Detail

    - #### newKnowledgeBuilderConfiguration

          KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration()

      Instantiate and return a new KnowledgeBuilderConfiguration
      Returns:
        the KnowledgeBuilderConfiguration

    - #### newKnowledgeBuilderConfiguration

          KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration​(java.lang.ClassLoader classLoader)

      Instantiate and return a new KnowledgeBuilderConfiguration
      Parameters:
        `classLoader` - Provided ClassLoader, can be null and then ClassLoader defaults to Thread.currentThread().getContextClassLoader()
      Returns:

    - #### newKnowledgeBuilderConfiguration

          KnowledgeBuilderConfiguration newKnowledgeBuilderConfiguration​(java.util.Properties properties,
                                                                         java.lang.ClassLoader classLoader)

      Instantiate and return a new KnowledgeBuilderConfiguration
      Parameters:
        `properties` - Properties file to process, can be null;
        `classLoader` - Provided ClassLoader, can be null and then ClassLoader defaults to Thread.currentThread().getContextClassLoader()
      Returns:

    - #### newDecisionTableConfiguration

          DecisionTableConfiguration newDecisionTableConfiguration()

      DecisionTables need to take a configuration of the InputType and XLS based ones can also take a Worksheet name.
      Returns:
        The DecisionTableConfiguration

    - #### newKnowledgeBuilder

          KnowledgeBuilder newKnowledgeBuilder()

      Instantiate and return a new KnowledgeBuilder using the default KnowledgeBuilderConfiguration
      Returns:
        The KnowledgeBuilder

    - #### newKnowledgeBuilder

          KnowledgeBuilder newKnowledgeBuilder​(KnowledgeBuilderConfiguration conf)

      Instantiate and return a new KnowledgeBuilder using the given KnowledgeBuilderConfiguration
      Parameters:
        `conf` - The KnowledgeBuilderConfiguration
      Returns:
        The KnowledgeBuilder

    - #### newKnowledgeBuilder

          KnowledgeBuilder newKnowledgeBuilder​(org.kie.api.KieBase kbase)

    - #### newKnowledgeBuilder

          KnowledgeBuilder newKnowledgeBuilder​(org.kie.api.KieBase kbase,
                                               KnowledgeBuilderConfiguration conf)