Package org.kie.api.builder.model

# Interface KieSessionModel

public interface KieSessionModel
KieSessionModel is a model allowing to programmatically define a KieSession

See Also:
  - `KieSession`

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static enum`
  `KieSessionModel.KieSessionType`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `KieSessionModel`
  `addCalendar(String name, String type)`
  Add a calendar to this KieSessionModel
  `BeliefSystemTypeOption`
  `getBeliefSystem()`
  Returns the BeliefSystemType of this KieSessionModel
  `Map<String,String>`
  `getCalendars()`
  Returns all the calendars set on this KieSessionModel
  `List<ChannelModel>`
  `getChannelModels()`
  Returns all the ChannelModels defined for this KieSessionModel
  `ClockTypeOption`
  `getClockType()`
  Returns the ClockType of this KieSessionModel
  `String`
  `getConsoleLogger()`
  Returns the name of the ConsoleLogger if any
  `FileLoggerModel`
  `getFileLogger()`
  Returns the FileLoggerModel registered on this KieSessionModel if any
  `KieBaseModel`
  `getKieBaseModel()`
  Returns the KieBaseModel which this KieSessionModel belongs to
  `List<ListenerModel>`
  `getListenerModels()`
  Returns all the ListenerModels defined for this KieSessionModel
  `String`
  `getName()`
  Returns the name of the KieSession defined by this KieSessionModel
  `String`
  `getScope()`
  Returns the CDI scope of this KieSessionModel
  `KieSessionModel.KieSessionType`
  `getType()`
  Returns the type of this KieSessionModel
  `List<WorkItemHandlerModel>`
  `getWorkItemHandlerModels()`
  Returns all the WorkItemHandlerModels defined for this KieSessionModel
  `boolean`
  `isAccumulateNullPropagation()`
  `boolean`
  `isDefault()`
  Returns true if this KieSessionModel is the default one
  `boolean`
  `isDirectFiring()`
  Returns true if this KieSessionModel has direct firing enabled see
  `boolean`
  `isThreadSafe()`
  `ChannelModel`
  `newChannelModel(String name, String type)`
  Creates a new ChannelModel of the given type (i.e.
  `ListenerModel`
  `newListenerModel(String type, ListenerModel.Kind kind)`
  Creates a new ListenerModel of the given type (i.e.
  `WorkItemHandlerModel`
  `newWorkItemHandlerModel(String name, String type)`
  Creates a new WorkItemHandlerModel of the given type (i.e.
  `KieSessionModel`
  `setAccumulateNullPropagation(boolean accumulateNullPropagation)`
  `KieSessionModel`
  `setBeliefSystem(BeliefSystemTypeOption beliefSystem)`
  Sets the BeliefSystem for this KieSessionModel.
  `KieSessionModel`
  `setClockType(ClockTypeOption clockType)`
  Sets the ClockType for this KieSessionModel.
  `KieSessionModel`
  `setConsoleLogger(String consoleLogger)`
  Sets a ConsoleLogger with the given name
  `KieSessionModel`
  `setDefault(boolean isDefault)`
  Sets the KieSession generated from this KieSessionModel as the default one, i.e.
  `KieSessionModel`
  `setDirectFiring(boolean isDefault)`
  Sets direct firing on this KieSession
  `KieSessionModel`
  `setFileLogger(String fileName)`
  Sets a non-threaded FileLogger with the given name and 30 seconds of logging interval
  `KieSessionModel`
  `setFileLogger(String fileName, int interval, boolean threaded)`
  Sets a FileLogger with the given name, threaded behavior and logging interval
  `KieSessionModel`
  `setScope(String scope)`
  Sets the CDI scope for this KieSessionModel Default is jakarta.enterprise.context.ApplicationScoped
  `KieSessionModel`
  `setThreadSafe(boolean threadSafe)`
  `KieSessionModel`
  `setType(KieSessionModel.KieSessionType type)`
  Sets the type for this KieSessionModel.

- ## Method Details

  - ### getName

    String getName()
    Returns the name of the KieSession defined by this KieSessionModel

  - ### getType

    KieSessionModel.KieSessionType getType()
    Returns the type of this KieSessionModel

  - ### setType

    KieSessionModel setType(KieSessionModel.KieSessionType type)
    Sets the type for this KieSessionModel. Default is STATEFUL

  - ### getClockType

    ClockTypeOption getClockType()
    Returns the ClockType of this KieSessionModel

  - ### setClockType

    KieSessionModel setClockType(ClockTypeOption clockType)
    Sets the ClockType for this KieSessionModel. Default is realtime

  - ### getBeliefSystem

    BeliefSystemTypeOption getBeliefSystem()
    Returns the BeliefSystemType of this KieSessionModel

  - ### setBeliefSystem

    KieSessionModel setBeliefSystem(BeliefSystemTypeOption beliefSystem)
    Sets the BeliefSystem for this KieSessionModel. Default is simple

  - ### newListenerModel

    ListenerModel newListenerModel(String type, ListenerModel.Kind kind)
    Creates a new ListenerModel of the given type (i.e. the name of the class implementing it) and kind and add it to this KieSessionModel

  - ### getListenerModels

    List<ListenerModel> getListenerModels()
    Returns all the ListenerModels defined for this KieSessionModel

  - ### newWorkItemHandlerModel

    WorkItemHandlerModel newWorkItemHandlerModel(String name, String type)
    Creates a new WorkItemHandlerModel of the given type (i.e. the name of the class implementing it) and add it to this KieSessionModel

  - ### getWorkItemHandlerModels

    List<WorkItemHandlerModel> getWorkItemHandlerModels()
    Returns all the WorkItemHandlerModels defined for this KieSessionModel

  - ### newChannelModel

    ChannelModel newChannelModel(String name, String type)
    Creates a new ChannelModel of the given type (i.e. the name of the class implementing it) and add it to this KieSessionModel

  - ### getChannelModels

    List<ChannelModel> getChannelModels()
    Returns all the ChannelModels defined for this KieSessionModel

  - ### setScope

    KieSessionModel setScope(String scope)
    Sets the CDI scope for this KieSessionModel Default is jakarta.enterprise.context.ApplicationScoped

  - ### getScope

    String getScope()
    Returns the CDI scope of this KieSessionModel

  - ### getConsoleLogger

    String getConsoleLogger()
    Returns the name of the ConsoleLogger if any

  - ### setConsoleLogger

    KieSessionModel setConsoleLogger(String consoleLogger)
    Sets a ConsoleLogger with the given name

  - ### getFileLogger

    FileLoggerModel getFileLogger()
    Returns the FileLoggerModel registered on this KieSessionModel if any

  - ### setFileLogger

    KieSessionModel setFileLogger(String fileName)
    Sets a non-threaded FileLogger with the given name and 30 seconds of logging interval

  - ### setFileLogger

    KieSessionModel setFileLogger(String fileName, int interval, boolean threaded)
    Sets a FileLogger with the given name, threaded behavior and logging interval

  - ### addCalendar

    KieSessionModel addCalendar(String name, String type)
    Add a calendar to this KieSessionModel
    Parameters:
      `name` - The calendar name
      `type` - The class implementing the calendar

  - ### getCalendars

    Map<String,String> getCalendars()
    Returns all the calendars set on this KieSessionModel

  - ### isDefault

    boolean isDefault()
    Returns true if this KieSessionModel is the default one

  - ### setDefault

    KieSessionModel setDefault(boolean isDefault)
    Sets the KieSession generated from this KieSessionModel 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 KieSessionModel of type STATEFUL and one of type STATELESS are 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 KieSessions will be accessible only by name

  - ### isDirectFiring

    boolean isDirectFiring()
    Returns true if this KieSessionModel has direct firing enabled see

  - ### setDirectFiring

    KieSessionModel setDirectFiring(boolean isDefault)
    Sets direct firing on this KieSession

  - ### getKieBaseModel

    KieBaseModel getKieBaseModel()
    Returns the KieBaseModel which this KieSessionModel belongs to

  - ### isThreadSafe

    boolean isThreadSafe()

  - ### setThreadSafe

    KieSessionModel setThreadSafe(boolean threadSafe)

  - ### isAccumulateNullPropagation

    boolean isAccumulateNullPropagation()

  - ### setAccumulateNullPropagation

    KieSessionModel setAccumulateNullPropagation(boolean accumulateNullPropagation)