Package org.kie.api

Interface KieBase

All Superinterfaces:
KieBaseEventManager

public interface KieBase extends KieBaseEventManager

The KieBase is a repository of all the application's knowledge definitions. It will contain rules, processes, functions, type models. The KieBase itself does not contain runtime data, instead sessions are created from the KieBase in which data can be inserted and process instances started.

  • Method Details

    • getKiePackages

      Collection<KiePackage> getKiePackages()
      Returns a collection of the KiePackages that exist in this KieBase.
      Returns:
      an immutable collection of the packages
    • getKiePackage

      KiePackage getKiePackage(String packageName)
      Returns a reference to the KiePackage identified by the given name.
      Parameters:
      packageName - the name of the KiePackage to return
      Returns:
      the KiePackage identified by the the given name or null if package not found.
    • removeKiePackage

      void removeKiePackage(String packageName)
      Removes a KiePackage and all the definitions it contains from the KieBase
      Parameters:
      packageName - the name of the KiePackage to remove
    • getRule

      Rule getRule(String packageName, String ruleName)
      Returns a reference to the Rule identified by the given package and rule names.
      Parameters:
      packageName - the package name to which the rule belongs to
      ruleName - the name of the rule
      Returns:
      the Rule object or null if not found
    • removeRule

      void removeRule(String packageName, String ruleName)
      Removes a rule from the specified package.
      Parameters:
      packageName - the package name to which the rule belongs to
      ruleName - the name of the rule
    • getQuery

      Query getQuery(String packageName, String queryName)
      Returns a reference to the Query identified by the given package and query names.
      Parameters:
      packageName - the package name to which the query belongs to
      queryName - the name of the query
      Returns:
      the Query object or null if not found.
    • removeQuery

      void removeQuery(String packageName, String queryName)
      Removes a query from the specified package.
      Parameters:
      packageName - the package name to which the query belongs to
      queryName - the name of the query
    • removeFunction

      void removeFunction(String packageName, String functionName)
      Removes a function from the specified package.
      Parameters:
      packageName - the package name to which the function belongs to
      functionName - the name of the function
    • getFactType

      FactType getFactType(String packageName, String typeName)
      Returns a reference to the FactType identified by the given package and type names.
      Parameters:
      packageName - the name of the package the fact belongs to
      typeName - the name of the type
      Returns:
      the FactType identified by the parameters or null if not found.
    • getProcess

      Process getProcess(String processId)
      Returns a reference to the Process identified by the given processId
      Parameters:
      processId - the id of the process
      Returns:
      the Process identified by the given processId or null if process not found.
    • removeProcess

      void removeProcess(String processId)
      Removes a process.
      Parameters:
      processId - the id of the process
    • getProcesses

      Collection<Process> getProcesses()
      Returns a collection of the Processes that exist in this KieBase.
      Returns:
      an immutable collection of the processes
    • newKieSession

      KieSession newKieSession(KieSessionConfiguration conf, Environment environment)
      Creates a new KieSession using the given session configuration and/or environment. Either one can be null and it will use a default. Don't forget to KieSession.dispose() session when you are done.
      Parameters:
      conf - session configuration
      environment - environment
      Returns:
      created KieSession
    • newKieSession

      KieSession newKieSession()
      Creates a new KieSession using the default session configuration. Don't forget to KieSession.dispose() session when you are done.
      Returns:
      created KieSession
    • newKieSessionsPool

      KieSessionsPool newKieSessionsPool(int initialSize)
      Creates a new KieSessionsPool storing the sessions created from this KieBase. Don't forget to KieSessionsPool.shutdown() the pool when you are done.
      Parameters:
      initialSize - the initial size of sessions in the pool
      Returns:
      created KieSessionsPool
    • getKieSessions

      Collection<? extends KieSession> getKieSessions()
      Returns a collection of the KieSessions that exist in this KieBase. Be careful as sessions are not thread-safe and could be in use elsewhere.
      Returns:
      a Collection of KieSessions
    • newStatelessKieSession

      StatelessKieSession newStatelessKieSession(KieSessionConfiguration conf)
      Creates a new StatelessKieSession using the given session configuration. You do not need to call KieSession.dispose() on this.
      Parameters:
      conf - session configuration
      Returns:
      created StatelessKieSession
    • newStatelessKieSession

      StatelessKieSession newStatelessKieSession()
      Creates a new StatelessKieSession using the default session configuration. You do not need to call @{link #dispose()} on this.
      Returns:
      created StatelessKieSession
    • getEntryPointIds

      Set<String> getEntryPointIds()
      Returns the set of the entry points declared and/or used in this kie base
      Returns:
      a Set of entry points