Interface KieBaseModel


  • public interface KieBaseModel
    KieBaseModel is a model allowing to programmatically define a KieBase
    See Also:
    KieBase
    • Method Detail

      • newKieSessionModel

        KieSessionModel newKieSessionModel​(java.lang.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​(java.lang.String qName)
        Removes the KieSessionModel with the give name from this KieBaseModel
        Parameters:
        qName - The name of the KieSessionModel to be removed
      • getKieSessionModels

        java.util.Map<java.lang.String,​KieSessionModel> getKieSessionModels()
        Returns all the KieSessionModel defined in this KieBaseModel mapped by their names
      • addInclude

        KieBaseModel addInclude​(java.lang.String kBaseName)
        Includes the resources of the KieBase with the given name in this KieBaseModel
      • removeInclude

        KieBaseModel removeInclude​(java.lang.String kBaseName)
        Remove the inclusion of the KieBase with the given name
      • getName

        java.lang.String getName()
        Returns the name of the KieBase defined by this KieBaseModel
      • getPackages

        java.util.List<java.lang.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

        java.util.Set<java.lang.String> getIncludes()
        Returns all KieBases included by this one
      • addPackage

        KieBaseModel addPackage​(java.lang.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​(java.lang.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
      • 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​(java.lang.String scope)
        Sets the CDI scope for this KieBaseModel
      • getScope

        java.lang.String getScope()
        Returns the CDI scope of this KieBaseModel Default is javax.enterprise.context.ApplicationScoped
      • getRuleTemplates

        java.util.List<RuleTemplateModel> getRuleTemplates()
        Returns the list of all RuleTemplateModels defined for this KieBaseModel
      • addRuleTemplate

        KieBaseModel addRuleTemplate​(java.lang.String dtable,
                                     java.lang.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