jBPM distribution 6.1.0.Beta3

org.jbpm.runtime.manager.impl.cdi
Class InjectableRegisterableItemsFactory

java.lang.Object
  extended by org.jbpm.runtime.manager.impl.SimpleRegisterableItemsFactory
      extended by org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory
          extended by org.jbpm.runtime.manager.impl.cdi.InjectableRegisterableItemsFactory
All Implemented Interfaces:
RegisterableItemsFactory

public class InjectableRegisterableItemsFactory
extends DefaultRegisterableItemsFactory

Implementation of RegisterableItemsFactory dedicated to CDI environments that allows to get injections of following components:

In addition to that, AbstractAuditLogger can be set after bean has been injected if the default is not sufficient. Although this factory extends DefaultRegisterableItemsFactory it will not use any of the listeners and handlers that comes from the super class. It mainly relies on CDI injections where the only exception from this rule is AbstractAuditLogger
Even though this is fully qualified bean for injection it provides helper methods to build its instances using BeanManager in case more independent instances are required.


Constructor Summary
InjectableRegisterableItemsFactory()
           
 
Method Summary
 List<AgendaEventListener> getAgendaEventListeners(RuntimeEngine runtime)
          Returns new instances of AgendaEventListener that will be registered on RuntimeEngine
 AbstractAuditLogger getAuditlogger()
           
protected  AbstractAuditLogger getAuditLoggerInstance(RuntimeEngine engine)
          Provides AuditLogger implementation, JPA or JMS.
static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AbstractAuditLogger auditlogger)
          Allows to create instance of this class dynamically via BeanManager.
static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AbstractAuditLogger auditlogger, KieContainer kieContainer, String ksessionName)
          Allows to create instance of this class dynamically via BeanManager.
static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AuditEventBuilder eventBuilder)
          Allows to create instance of this class dynamically via BeanManager.
static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AuditEventBuilder eventBuilder, KieContainer kieContainer, String ksessionName)
          Allows to create instance of this class dynamically via BeanManager.
 Map<String,Object> getGlobals(RuntimeEngine runtime)
          Returns globals that shall be registered on KieSession.
protected static
<T> T
getInstanceByType(javax.enterprise.inject.spi.BeanManager manager, Class<T> type, Annotation... bindings)
           
 KieContainer getKieContainer()
           
 String getKsessionName()
           
protected  Map<String,Object> getParametersMap(RuntimeEngine runtime)
           
 List<ProcessEventListener> getProcessEventListeners(RuntimeEngine runtime)
          Returns new instances of ProcessEventListener that will be registered on RuntimeEngine
 List<RuleRuntimeEventListener> getRuleRuntimeEventListeners(RuntimeEngine runtime)
          Returns new instances of RuleRuntimeEventListener that will be registered on RuntimeEngine
 Map<String,WorkItemHandler> getWorkItemHandlers(RuntimeEngine runtime)
          Returns new instances of WorkItemHandler that will be registered on RuntimeEngine
 void setAuditlogger(AbstractAuditLogger auditlogger)
           
 void setKieContainer(KieContainer kieContainer)
           
 void setKsessionName(String ksessionName)
           
 
Methods inherited from class org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory
getAuditBuilder, getAuditBuilder, getHTWorkItemHandler, getTaskListeners, setAuditBuilder
 
Methods inherited from class org.jbpm.runtime.manager.impl.SimpleRegisterableItemsFactory
addAgendaListener, addGlobal, addProcessListener, addTaskListener, addWorkingMemoryListener, addWorkItemHandler, createInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InjectableRegisterableItemsFactory

public InjectableRegisterableItemsFactory()
Method Detail

getWorkItemHandlers

public Map<String,WorkItemHandler> getWorkItemHandlers(RuntimeEngine runtime)
Description copied from interface: RegisterableItemsFactory
Returns new instances of WorkItemHandler that will be registered on RuntimeEngine

Specified by:
getWorkItemHandlers in interface RegisterableItemsFactory
Overrides:
getWorkItemHandlers in class DefaultRegisterableItemsFactory
Parameters:
runtime - provides RuntimeEngine in case handler need to make use of it internally
Returns:
map of handlers to be registered - in case of no handlers empty map shall be returned.

getProcessEventListeners

public List<ProcessEventListener> getProcessEventListeners(RuntimeEngine runtime)
Description copied from interface: RegisterableItemsFactory
Returns new instances of ProcessEventListener that will be registered on RuntimeEngine

Specified by:
getProcessEventListeners in interface RegisterableItemsFactory
Overrides:
getProcessEventListeners in class DefaultRegisterableItemsFactory
Parameters:
runtime - provides RuntimeEngine in case listeners need to make use of it internally
Returns:
list of listeners to be registered - in case of no listeners empty list shall be returned.

getRuleRuntimeEventListeners

public List<RuleRuntimeEventListener> getRuleRuntimeEventListeners(RuntimeEngine runtime)
Description copied from interface: RegisterableItemsFactory
Returns new instances of RuleRuntimeEventListener that will be registered on RuntimeEngine

Specified by:
getRuleRuntimeEventListeners in interface RegisterableItemsFactory
Overrides:
getRuleRuntimeEventListeners in class DefaultRegisterableItemsFactory
Parameters:
runtime - provides RuntimeEngine in case listeners need to make use of it internally
Returns:
list of listeners to be registered - in case of no listeners empty list shall be returned.

getAgendaEventListeners

public List<AgendaEventListener> getAgendaEventListeners(RuntimeEngine runtime)
Description copied from interface: RegisterableItemsFactory
Returns new instances of AgendaEventListener that will be registered on RuntimeEngine

Specified by:
getAgendaEventListeners in interface RegisterableItemsFactory
Overrides:
getAgendaEventListeners in class DefaultRegisterableItemsFactory
Parameters:
runtime - provides RuntimeEngine in case listeners need to make use of it internally
Returns:
list of listeners to be registered - in case of no listeners empty list shall be returned.

getGlobals

public Map<String,Object> getGlobals(RuntimeEngine runtime)
Description copied from interface: RegisterableItemsFactory
Returns globals that shall be registered on KieSession.

Specified by:
getGlobals in interface RegisterableItemsFactory
Overrides:
getGlobals in class SimpleRegisterableItemsFactory
Parameters:
runtime - provides RuntimeEngine in case globals need to make use of it internally
Returns:
map of globals to be registered - in case of no globals empty map shall be returned.

getFactory

public static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager,
                                                  AbstractAuditLogger auditlogger)
Allows to create instance of this class dynamically via BeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.

Parameters:
beanManager - - bean manager instance of the container
auditlogger - - AbstractAuditLogger logger instance to be used, might be null
Returns:
new instance of the factory

getFactory

public static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager,
                                                  AbstractAuditLogger auditlogger,
                                                  KieContainer kieContainer,
                                                  String ksessionName)
Allows to create instance of this class dynamically via BeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.

Parameters:
beanManager - - bean manager instance of the container
auditlogger - - AbstractAuditLogger logger instance to be used, might be null
kieContainer - - KieContainer that the factory is built for
ksessionName - - name of the ksession defined in kmodule to be used, if not given default ksession from kmodule will be used.
Returns:

getFactory

public static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager,
                                                  AuditEventBuilder eventBuilder)
Allows to create instance of this class dynamically via BeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.

Parameters:
beanManager - - bean manager instance of the container
eventBuilder - - AuditEventBuilder logger builder instance to be used, might be null
Returns:
new instance of the factory

getFactory

public static RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager,
                                                  AuditEventBuilder eventBuilder,
                                                  KieContainer kieContainer,
                                                  String ksessionName)
Allows to create instance of this class dynamically via BeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.

Parameters:
beanManager - - bean manager instance of the container
eventBuilder - - AbstractAuditLogger logger builder instance to be used, might be null
kieContainer - - KieContainer that the factory is built for
ksessionName - - name of the ksession defined in kmodule to be used, if not given default ksession from kmodule will be used.
Returns:

getInstanceByType

protected static <T> T getInstanceByType(javax.enterprise.inject.spi.BeanManager manager,
                                         Class<T> type,
                                         Annotation... bindings)

getAuditlogger

public AbstractAuditLogger getAuditlogger()

setAuditlogger

public void setAuditlogger(AbstractAuditLogger auditlogger)

getKieContainer

public KieContainer getKieContainer()

setKieContainer

public void setKieContainer(KieContainer kieContainer)

getKsessionName

public String getKsessionName()

setKsessionName

public void setKsessionName(String ksessionName)

getParametersMap

protected Map<String,Object> getParametersMap(RuntimeEngine runtime)

getAuditLoggerInstance

protected AbstractAuditLogger getAuditLoggerInstance(RuntimeEngine engine)
Provides AuditLogger implementation, JPA or JMS. JPA is the default one and JMS requires to have configuration file (.properties) to be available on classpath under 'jbpm.audit.jms.properties' name. This file must have following properties defined:

Returns:
instance of the audit logger

jBPM distribution 6.1.0.Beta3

Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.