# All Classes and Interfaces

Class
Description
AbstractOutput<T>
AccumulateFunction<C extends Serializable>
An interface for accumulate external function implementations
AccumulateNullPropagationOption
An option to define if 'accumulate' propagates its result even when its accumulate function result is 'null'.
ActivationGroup
ActivationListener
AfterFunctionRemovedEvent
AfterKieBaseLockedEvent
AfterKieBaseUnlockedEvent
AfterKiePackageAddedEvent
AfterKiePackageRemovedEvent
AfterMatchFiredEvent
AfterProcessAddedEvent
AfterProcessRemovedEvent
AfterRuleAddedEvent
AfterRuleRemovedEvent
Agenda
AgendaEventListener
AgendaFilter
AgendaGroup
AgendaGroupEvent
AgendaGroupPoppedEvent
AgendaGroupPushedEvent
All
Annotation
AttachedViewChangedEventListener
BatchExecutionCommand
BatchRequestMessage
BeforeFunctionRemovedEvent
BeforeKieBaseLockedEvent
BeforeKieBaseUnlockedEvent
BeforeKiePackageAddedEvent
BeforeKiePackageRemovedEvent
BeforeMatchFiredEvent
BeforeProcessAddedEvent
BeforeProcessRemovedEvent
BeforeRuleAddedEvent
BeforeRuleRemovedEvent
BeliefSystemTypeOption
A class for the belief system configuration.
BetaRangeIndexOption
An enum to enable beta node range index option.
Calendar
Calendars
Channel
A channel provides a mechanism to send objects from the working memory to some external process or function.
ChannelModel
ChannelModel is a model allowing to programmatically define a Channel and wire it to a KieSession
ClassObjectFilter
Filters objects by class, only accepting objects of the class specified in the constructor
ClassReactive
Annotation used to declare that a given class is not property specific
ClockTypeOption
A class for the session clock configuration.
Command<T>
CommandExecutor
Batch Executor allows for the scripting of a KieSession using Commands, both the KieSession and KieSession implement this interface.
CompilationErrorsException
ConfigurationKey<T extends OptionsConfiguration>
Connection
A connection is a link from one Node to another.
ConsequenceException
ConsequenceExceptionHandler
Context
The context of an execution
DataTransformer
Data transformation capabilities used by data input and data output transformation as part of BPMN2 process definition.
DebugAgendaEventListener
DebugRuleRuntimeEventListener
DeclarativeAgendaOption
An enum to enable Declarative Agenda option.
DefaultAgendaEventListener
DefaultKieBaseEventListener
DefaultKieScannerEventListener
DefaultProcessEventListener
DefaultRuleRuntimeEventListener
Description
Annotation used to decorate a field or class with a description.
Direct
DirectFiringOption
An option to define if the KieSession should directly firing consequences bypassing the agenda.
DoubleFieldOutput
Duration
EntryPoint
An entry-point is an abstract channel through where facts are inserted into the engine.
Environment
EnvironmentName
EqualityBehaviorOption
An Enum for EqualityBehavior option.
ErrorEvent
An event when a error is thrown
Evaluator
A public interface to be implemented by all evaluators
EvaluatorDefinition
A markup interface for Evaluator definitions
EventHandle
EventListener
An interface that represents an element that is listening for specific types of events.
EventProcessingOption
An Enum for Event Processing option.
Executable
ExecutableCommand<T>
ExecutableRunner<C extends Context>
ExecutionResults
Contains the results for the BatchExecution Command.
Expires
Expires.Policy
FactField
A field from a declared fact type
FactHandle
An handle to a fact inserted into the working memory
FactHandle.State
The way how the fact to which this FactHandle was assigned has been inserted into the working memory
FactType
FactType declarations are fact definitions (like classes) that are managed alongside the rules.
FileLoggerModel
FileLoggerModel is a model allowing to programmatically define a FileLogger and wire it to a KieSession
GAV
A simple immutable pojo representing Maven GAV coordinates, with a JMX-compliant method in order to be exposed and used via JMX/Monitoring.
GenericKieSessionMonitoringMXBean
An MBean interface for `KieSession` monitoring
GenericKieSessionMonitoringMXBean.IAgendaStatsData
GenericKieSessionMonitoringMXBean.IGlobalProcessStatsData
GenericKieSessionMonitoringMXBean.IProcessStatsData
Global
Globals
Include
IntegerFieldOutput
KeepReferenceOption
Option to configure if the KieBase should retain a reference to the KieSession or not.
Key
Annotation used to declare that a field is a key for the class it belongs to and then it will be used to calculate the equals/hashCode methods of the class itself.
KieAssemblers
KieAssemblerService
KieBase
The KieBase is a repository of all the application's knowledge definitions.
KieBaseConfiguration
A class to store KieBase related configuration.
KieBaseConfigurationMonitorMBean
KieBaseEvent
KieBaseEventListener
KieBaseEventManager
KieBaseModel
KieBaseModel is a model allowing to programmatically define a KieBase
KieBaseMutabilityOption
An option to define if a KieBase should be mutable or not.
KieBaseOption
A markup interface for `KieBase` options.
KieBaseOptionsConfiguration
A base interface for type safe configurations
KieBuilder
KieBuilder is a builder for the resources contained in a KieModule
KieBuilder.ProjectType
A marker interace implemented by the different type of projects supported by this KieBuilder
KieCommands
KieCommands is a factory for Commands that can be used by classes that implement CommandExecutor.
KieContainer
A container for all the KieBases of a given KieModule
KieContainerMonitorMXBean
KieContainerSessionsPool
A pool of session created from a KieContainer
KieContext
KieDefinition
Marker interface for all KnowlegeDefinition's
KieDefinition.KnowledgeType
KieDescr
A top level interface for Knowledge Descriptors.
KieExecutors
KieExecutors.Pool
KieFileSystem
KieFileSystem is an in memory file system used to programmatically define the resources composing a KieModule
KieLoggers
KieLoggers is a factory for KieRuntimeLogger
KieManagementAgentMBean
A tree root level class for all the drools management MBeans published to an MBean agent
KieMarshallers
This api is experimental and thus the classes and the interfaces returned are subject to change.
KieModule
A KieModule is a container of all the resources necessary to define a set of KieBases like a pom.xml defining its ReleaseId, a kmodule.xml file declaring the KieBases names and configurations together with all the KieSession that can be created from them and all the other files necessary to build the KieBases themselves
KieModuleModel
KieModuleModel is a model allowing to programmatically define a KieModule
KiePackage
This provides a collection of knowledge definitions that can be given to a `KieBase`.
KieRepository
KieRepository is a singleton acting as a repository for all the available KieModules regardless if they are stored in the maven repository or programmatically built by the user
KieResources
KieResources is a factory that provides Resource implementations for the desired IO resource
KieRuntime
KieRuntimeBuilder
KieRuntimeEvent
An event that is generated by the KIE runtime.
KieRuntimeEventManager
A manager for runtime events.
KieRuntimeFactory
Maintains a collection of Knowledge Runtimes that is bound to the given KieBase.
KieRuntimeLogger
A logger for audit events.
KieRuntimes
KieRuntimeService<T>
KieScanner
A KieScanner is a scanner of the maven repositories (both local and remote) used to automatically discover if there are new releases for a given KieModule and its dependencies and eventually deploy them in the KieRepository
KieScanner.Status
KieScannerEvent
KieScannerEventListener
KieScannerFactoryService
KieScannerStatusChangeEvent
KieScannerUpdateResultsEvent
KieService
KieServiceLoader
KieServices
The KieServices is a thread-safe singleton acting as a hub giving access to the other Services provided by Kie.
KieServices.Factory
A Factory for this KieServices
KieSession
KieSession is the most common way to interact with the engine.
KieSession.AtomicAction
An action that will be executed atomically on this session.
KieSessionConfiguration
A class to store Session related configuration.
KieSessionModel
KieSessionModel is a model allowing to programmatically define a KieSession
KieSessionModel.KieSessionType
KieSessionMonitoringMXBean
An MBean interface for `KieSession` monitoring
KieSessionOption
A markup interface for KieSessionConfiguration options
KieSessionOptionsConfiguration
A base interface for type safe configurations
KieSessionsPool
A pool of session created from a KieContainer
KieStoreServices
KieWeavers
KieWeaverService<P extends ResourceTypePackage>
Label
Annotation used to decorate a field or class with a label.
ListenerModel
ListenerModel is a model allowing to programmatically define a Listener and wire it to a KieSession
ListenerModel.Kind
LiveQuery
Marshaller
MarshallingConfiguration
Match
MatchCancelledCause
MatchCancelledEvent
MatchCreatedEvent
MatchEvent
MBeansOption
An Enum for MBeans Enabled option.
Message
A Message generated by the building process of a KieModule
Message.Level
MessageEvent
An event when a message is sent
Modifies
Annotation used to declare that a given method (potenially) modifies the values of the named properties
MultiValueKieBaseOption
A markup interface for MultiValueKieBaseConfiguration options
MultiValueKieSessionOption
A markup interface for MultiValueKieSessionConfiguration options
MultiValueOption
A markup interface for MultiValueKieBaseConfiguration options
MultiValueRuleBaseOption
MultiValueRuleRuntimeOption
Node
A Node represents an activity in the process flow chart.
NodeContainer
A NodeContainer contains a set of Nodes There are different types of NodeContainers and NodeContainers may be nested.
NodeInstance
A node instance represents the execution of one specific node in a process instance.
NodeInstanceContainer
A node instance container is a container that can contain (zero or more) node instances.
NodeType
ObjectDeletedEvent
ObjectFilter
ObjectFilter is used with WorkingMemories to filter out instances during Iteration
ObjectInsertedEvent
ObjectMarshallingStrategy
ObjectMarshallingStrategy.Context
ObjectMarshallingStrategyAcceptor
ObjectMarshallingStrategyStore
ObjectTypeNodeMonitorMBean
An interface for OTN MBean
ObjectUpdatedEvent
Operator
An interface for Operator definitions.
Option
A base interface for type safe options in configuration objects
OptionKey<T extends Option>
OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>
OutputFieldFactory
ParameterInfo<T>
PersistedSessionOption
A class for the session persistence configuration.
PersistedSessionOption.ActivationStrategy
NONE : On restoring a session, filter firing based on StoredObject.isPropagated ACTIVATION_KEY : On restoring a session, filter firing based on StoredObject.isPropagated and persisted ActivationKey
PersistedSessionOption.PersistenceObjectsStrategy
PersistedSessionOption.PersistenceStrategy
PersistedSessionOption.SafepointStrategy
PMML4AbstractField
PMML4Data<T>
PMML4DataField
PMML4DataType
PMML4Field
PMML4Output<T>
PMML4OutputField
PMML4Result
PMMLRequestData
This class provides a vanilla mechanism for sending data to the rule engine, for use in having a PMML model applied against it
Position
Annotation used to declare the Position of a field, when using Positional field constraints.
Process
A Process represents one modular piece of business logic that can be executed by a process engine.
ProcessCompletedEvent
A runtime event that is generated when a ProcessInstance is completed.
ProcessContext
Represents the context when executing a process.
ProcessedResource
ProcessEvent
A runtime event related to the execution of process instances.
ProcessEventListener
A listener for events related to process instance execution.
ProcessEventManager
A manager for process related events.
ProcessInstance
A process instance represents one specific instance of a process that is currently executing.
ProcessMigrationEvent
An event when a process instance has been started.
ProcessNodeEvent
An event related to the execution of a node instance within a process instance.
ProcessNodeLeftEvent
An event when a node inside a process instance has been left.
ProcessNodeTriggeredEvent
An event when a node inside a process instance has been triggered.
ProcessRetriggeredEvent
A runtime event that is generated when a ProcessInstance is re-triggered after an error.
ProcessRuntime
The `ProcessRuntime` is a super-interface for all `KieSession`s.
ProcessStartedEvent
An event when a process instance has been started.
ProcessVariableChangedEvent
An event when a variable inside a process instance has been changed.
ProcessWorkItemHandlerException
ProcessWorkItemHandlerException.HandlingStrategy
Propagation
Propagation.Type
PropagationContext
PropertiesConfiguration
Base class for other Configuration classes.
PropertyChangeSupport
PropertyReactive
Annotation used to declare that a given class is property specific
Prototype
Prototype.Field
Prototype.UndefinedValue
PrototypeBuilder
PrototypeBuilder.Creator
PrototypeBuilder.Holder
PrototypeEvent
PrototypeEventInstance
PrototypeFact
PrototypeFactInstance
PrototypesOption
An Enum for the option to allow use of prototypes.
QualifierModel
Query
Public Query interface for runtime query inspection.
QueryListenerOption
An enum to configure the session query listener configuration.
QueryResults
Contains the results of a query.
QueryResultsRow
A row of data from the QueryResults container.
ReleaseId
ReleaseId is a full identifier far a given version of an artifact.
ReleaseIdComparator
ReleaseIdComparator.ComparableVersion
ReleaseIdComparator.SortDirection
Remotable
This annotation should be used by users to specify (user-defined) classes that should be available to remote services (REST, JMS, WS) when using a workbench.
RemoveIdentitiesOption
An Enum for Remove Identities option.
RequestContext
Resource
Generic interface to provide a Reader or InputStream for the underlying IO resource.
ResourceConfiguration
This interface is a marker interface and should be implemented by any class that will provide configurations to the `KieBuilder` - currently this is only used by decision tables.
ResourceType
ResourceTypePackage<T>
A container for resources that have been processed by a `KieAssemblerService`.
ResourceWithConfiguration
Represent a tuple of a `Resource` with associated `ResourceConfiguration`, along with necessary kbuilder callbacks, to be used in in `KieAssemblerService`.
Results
The Results of the building process of a KieModule
Role
Annotation used to declare if a given class is a plain fact or an event
Role.Type
Row
Rule
Public Rule interface for runtime rule inspection.
RuleContext
RuleFlowGroup
RuleFlowGroupActivatedEvent
RuleFlowGroupDeactivatedEvent
RuleFlowGroupEvent
RuleRuntime
The `RuleRuntime` is a super-interface for all `KieSession`s.
RuleRuntimeEvent
RuleRuntimeEventListener
RuleRuntimeEventManager
RuleTemplateModel
RuleTemplateModel is a model allowing to programmatically apply a Drools Rule Template to a Decision Table
RuntimeSession
SequentialOption
An Enum for Sequential option.
SessionClock
A clock interface that all engine clocks must implement
SessionPseudoClock
A clock interface for the implementation of pseudo clocks, that are clocks where the user have control over the actual clock working.
SessionsPoolOption
Setter
SignalEvent
An event when a signal is thrown
SingleValueKieBaseOption
A markup interface for KieBaseConfiguration options
SingleValueKieSessionOption
A markup interface for SingleValueKieSessionConfiguration options
SingleValueOption
A markup interface for KieBaseConfiguration options
SingleValueRuleBaseOption
SingleValueRuleRuntimeOption
SLAViolatedEvent
An event when a SLA has been violated.
StatefulProcessSession
There are currently no process related methods that are used with the external KieSession class.
StatefulRuleSession
This interface adds methods available to the `KieSession` beyond what the WorkingMemory provides.
StatelessKieSession
StatelessKieSession provides a convenience API, wrapping KieSession.
StatelessKieSessionMonitoringMXBean
An MBean interface for `StatelessKieSession` monitoring
StatelessProcessSession
There are currently no process related methods that are used with the external StatelessKieSession class.
StatelessRuleSession
This interface is used as part of the `StatelessKieSession`, which is the interface returned from the `KieBase`.
StringFieldOutput
ThreadSafeOption
An option to define if the KieSession should should be thread safe or not.
TimedRuleExecutionFilter
TimedRuleExecutionOption
TimedRuleExecutionOption.FILTERED
TimerJobFactoryOption
A class for the timer job factory manager configuration.
Timestamp
TypeSafe
Variable
ViewChangedEventListener
Watch
WorkflowElement
WorkflowElementIdentifier
WorkflowProcess
A WorkflowProcess is a type of Process that uses a flow chart (as a collection of Nodes and Connections) to model the business logic.
WorkflowProcessInstance
A workflow process instance represents one specific instance of a workflow process that is currently executing.
WorkItem
Represents one unit of work that needs to be executed.
WorkItemHandler
A work item handler is responsible for executing work items of a specific type.
WorkItemHandlerModel
WorkItemHandlerModel is a model allowing to programmatically define a WorkItemHandler and wire it to a KieSession
WorkItemHandlerOption
WorkItemHandlers configuration option
WorkItemManager
A work item manager is responsible for finding the right work item handler when a work item should be executed and should be notified when this work item has been completed (or aborted).