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

  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.
  `PrototypesOption`
  `getPrototypes()`
  Sets the PrototypesOption for this KieBaseModel.
  `List<RuleTemplateModel>`
  `getRuleTemplates()`
  Returns the list of all RuleTemplateModels defined for this KieBaseModel
  `String`
  `getScope()`
  Returns the CDI scope of this KieBaseModel Default is jakarta.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.
  `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`
  `setPrototypes(PrototypesOption prototypes)`
  Returns the PrototypesOption of 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 Details

  - ### 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

  - ### getPrototypes

    PrototypesOption getPrototypes()
    Sets the PrototypesOption for this KieBaseModel. Default is PrototypesOption.DISABLED

  - ### setPrototypes

    KieBaseModel setPrototypes(PrototypesOption prototypes)
    Returns the PrototypesOption of this KieBaseModel

  - ### 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 jakarta.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