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 class` | `KieSessionModel.KieSessionType` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    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. the name of the class implementing it) and add it to this KieSessionModel
    `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
    `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
    `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. the one that can be loaded from the KieContainer without having to pass its name.
    `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 javax.enterprise.context.ApplicationScoped
    `KieSessionModel` | `setThreadSafe​(boolean threadSafe)` |
    `KieSessionModel` | `setType​(KieSessionModel.KieSessionType type)` | Sets the type for this KieSessionModel.

- - ### Method Detail

    - #### 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 javax.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)