Package org.kie.api.builder.model

## Interface KieBaseModel

-     public interface KieBaseModel

  KieBaseModel is a model allowing to programmatically define a KieBase
  See Also:
    `KieBase`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `KieBaseModel` | `addInclude​(String kBaseName)` | Includes the resources of the KieBase with the given name in this KieBaseModel
    `KieBaseModel` | `addPackage​(String pkg)` | Adds a package (pattern) to the list of the packages defining the set of resources that have to be included in the KieBase.
    `KieBaseModel` | `addRuleTemplate​(String dtable, String template, int row, int col)` | Defines a new RuleTemplateModel for this KieBaseModel
    `BetaRangeIndexOption` | `getBetaRangeIndexOption()` | Returns the BetaRangeIndexOption of this KieBaseModel
    `DeclarativeAgendaOption` | `getDeclarativeAgenda()` | Returns the DeclarativeAgendaOption of this KieBaseModel
    `EqualityBehaviorOption` | `getEqualsBehavior()` | Returns the EqualityBehavior of this KieBaseModel
    `EventProcessingOption` | `getEventProcessingMode()` | Returns the EventProcessingMode of this KieBaseModel
    `Set<String>` | `getIncludes()` | Returns all KieBases included by this one
    `Map<String,​KieSessionModel>` | `getKieSessionModels()` | Returns all the KieSessionModel defined in this KieBaseModel mapped by their names
    `KieBaseMutabilityOption` | `getMutability()` | Returns the KieBaseMutabilityOption of this KieBaseModel
    `String` | `getName()` | Returns the name of the KieBase defined by this KieBaseModel
    `List<String>` | `getPackages()` | Returns the ordered list of all the package patterns used to define the set of resources that have to be included in the KieBase.
    `List<RuleTemplateModel>` | `getRuleTemplates()` | Returns the list of all RuleTemplateModels defined for this KieBaseModel
    `String` | `getScope()` | Returns the CDI scope of this KieBaseModel Default is javax.enterprise.context.ApplicationScoped
    `SequentialOption` | `getSequential()` | Returns the SequentialOption of this KieBaseModel
    `SessionsPoolOption` | `getSessionsPool()` | Returns the session pool configuration of this KieBaseModel
    `boolean` | `isDefault()` | Returns true if this KieBaseModel is the default one
    `KieSessionModel` | `newKieSessionModel​(String name)` | Creates a new KieSessionModel with the given name and adds it to this KieBaseModel
    `KieBaseModel` | `removeInclude​(String kBaseName)` | Remove the inclusion of the KieBase with the given name
    `KieBaseModel` | `removeKieSessionModel​(String qName)` | Removes the KieSessionModel with the give name from this KieBaseModel
    `KieBaseModel` | `removePackage​(String pkg)` | Removes a package (pattern) from the list of the packages defining the set of resources that have to be included in the KieBase.
    `KieBaseModel` | `setBetaRangeIndexOption​(BetaRangeIndexOption betaRangeIndexOption)` | Sets the BetaRangeIndexOption for this KieBaseModel Default is BetaRangeIndexOption.DISABLED
    `KieBaseModel` | `setDeclarativeAgenda​(DeclarativeAgendaOption declarativeAgenda)` | Sets the DeclarativeAgendaOption for this KieBaseModel Default is DeclarativeAgendaOption.DISABLED
    `KieBaseModel` | `setDefault​(boolean isDefault)` | Sets the KieBase generated from this KieBaseModel as the default one, i.e. the one that can be loaded from the KieContainer without having to pass its name.
    `KieBaseModel` | `setEqualsBehavior​(EqualityBehaviorOption equalsBehaviour)` | Sets the EqualityBehavior for this KieBaseModel.
    `KieBaseModel` | `setEventProcessingMode​(EventProcessingOption eventProcessingMode)` | Sets the EventProcessingOption for this KieBaseModel Default is EventProcessingOption.CLOUD
    `KieBaseModel` | `setMutability​(KieBaseMutabilityOption mutability)` | Sets the KieBaseMutabilityOption for this KieBaseModel.
    `KieBaseModel` | `setScope​(String scope)` | Sets the CDI scope for this KieBaseModel
    `KieBaseModel` | `setSequential​(SequentialOption sequential)` | Sets the SequentialOption for this KieBaseModel Default is SequentialOption.NO
    `KieBaseModel` | `setSessionsPool​(SessionsPoolOption sessionPool)` | Sets the SessionPoolOption used by the KieBase to create new sessions Default is SessionPoolOption.NO

- - ### Method Detail

    - #### newKieSessionModel

          KieSessionModel newKieSessionModel​(String name)

      Creates a new KieSessionModel with the given name and adds it to this KieBaseModel
      Parameters:
        `name` - The name of the new KieSessionModel to be created
      Returns:
        The new KieSessionModel

    - #### removeKieSessionModel

          KieBaseModel removeKieSessionModel​(String qName)

      Removes the KieSessionModel with the give name from this KieBaseModel
      Parameters:
        `qName` - The name of the KieSessionModel to be removed

    - #### getKieSessionModels

          Map<String,​KieSessionModel> getKieSessionModels()

      Returns all the KieSessionModel defined in this KieBaseModel mapped by their names

    - #### addInclude

          KieBaseModel addInclude​(String kBaseName)

      Includes the resources of the KieBase with the given name in this KieBaseModel

    - #### removeInclude

          KieBaseModel removeInclude​(String kBaseName)

      Remove the inclusion of the KieBase with the given name

    - #### getName

          String getName()

      Returns the name of the KieBase defined by this KieBaseModel

    - #### getPackages

          List<String> getPackages()

      Returns the ordered list of all the package patterns used to define the set of resources that have to be included in the KieBase. If this list is empty, "*" is assumed by default, meaning that all the resources stored under a folder with the same name of this KieBaseModel will be included in the compiled KieBase regardless of the package they belong to. The list of package patterns is ordered and earlier patterns are applied before later patterns. For example, if you specify "org.foo.*,!org.foo.impl" the second pattern has no effect since all org.foo packages have already been selected by the first pattern. Instead, you should specify "!org.foo.impl,org.foo.*", which will export all org.foo packages except org.foo.impl.

    - #### getIncludes

          Set<String> getIncludes()

      Returns all KieBases included by this one

    - #### addPackage

          KieBaseModel addPackage​(String pkg)

      Adds a package (pattern) to the list of the packages defining the set of resources that have to be included in the KieBase.

    - #### removePackage

          KieBaseModel removePackage​(String pkg)

      Removes a package (pattern) from the list of the packages defining the set of resources that have to be included in the KieBase.

    - #### getEqualsBehavior

          EqualityBehaviorOption getEqualsBehavior()

      Returns the EqualityBehavior of this KieBaseModel

    - #### setEqualsBehavior

          KieBaseModel setEqualsBehavior​(EqualityBehaviorOption equalsBehaviour)

      Sets the EqualityBehavior for this KieBaseModel. Default is EqualityBehaviorOption.IDENTITY

    - #### getMutability

          KieBaseMutabilityOption getMutability()

      Returns the KieBaseMutabilityOption of this KieBaseModel

    - #### setMutability

          KieBaseModel setMutability​(KieBaseMutabilityOption mutability)

      Sets the KieBaseMutabilityOption for this KieBaseModel. Default is KieBaseMutabilityOption.ALLOWED

    - #### getSessionsPool

          SessionsPoolOption getSessionsPool()

      Returns the session pool configuration of this KieBaseModel

    - #### setSessionsPool

          KieBaseModel setSessionsPool​(SessionsPoolOption sessionPool)

      Sets the SessionPoolOption used by the KieBase to create new sessions Default is SessionPoolOption.NO

    - #### getEventProcessingMode

          EventProcessingOption getEventProcessingMode()

      Returns the EventProcessingMode of this KieBaseModel

    - #### setEventProcessingMode

          KieBaseModel setEventProcessingMode​(EventProcessingOption eventProcessingMode)

      Sets the EventProcessingOption for this KieBaseModel Default is EventProcessingOption.CLOUD

    - #### getDeclarativeAgenda

          DeclarativeAgendaOption getDeclarativeAgenda()

      Returns the DeclarativeAgendaOption of this KieBaseModel

    - #### setDeclarativeAgenda

          KieBaseModel setDeclarativeAgenda​(DeclarativeAgendaOption declarativeAgenda)

      Sets the DeclarativeAgendaOption for this KieBaseModel Default is DeclarativeAgendaOption.DISABLED

    - #### getBetaRangeIndexOption

          BetaRangeIndexOption getBetaRangeIndexOption()

      Returns the BetaRangeIndexOption of this KieBaseModel

    - #### setBetaRangeIndexOption

          KieBaseModel setBetaRangeIndexOption​(BetaRangeIndexOption betaRangeIndexOption)

      Sets the BetaRangeIndexOption for this KieBaseModel Default is BetaRangeIndexOption.DISABLED

    - #### getSequential

          SequentialOption getSequential()

      Returns the SequentialOption of this KieBaseModel

    - #### setSequential

          KieBaseModel setSequential​(SequentialOption sequential)

      Sets the SequentialOption for this KieBaseModel Default is SequentialOption.NO

    - #### setScope

          KieBaseModel setScope​(String scope)

      Sets the CDI scope for this KieBaseModel

    - #### getScope

          String getScope()

      Returns the CDI scope of this KieBaseModel Default is javax.enterprise.context.ApplicationScoped

    - #### getRuleTemplates

          List<RuleTemplateModel> getRuleTemplates()

      Returns the list of all RuleTemplateModels defined for this KieBaseModel

    - #### addRuleTemplate

          KieBaseModel addRuleTemplate​(String dtable,
                                       String template,
                                       int row,
                                       int col)

      Defines a new RuleTemplateModel for this KieBaseModel

    - #### isDefault

          boolean isDefault()

      Returns true if this KieBaseModel is the default one

    - #### setDefault

          KieBaseModel setDefault​(boolean isDefault)

      Sets the KieBase generated from this KieBaseModel as the default one, i.e. the one that can be loaded from the KieContainer without having to pass its name. Note that only one default KieBaseModel is allowed in a given KieContainer so if more than one is found (maybe because a given KieContainer includes many KieModules) a warning is emitted and all the defaults are disabled so all the KieBases will be accessible only by name