Class CDIDependencyInjectionAnnotator
java.lang.Object
org.drools.codegen.common.di.impl.CDIDependencyInjectionAnnotator
- All Implemented Interfaces:
DependencyInjectionAnnotator
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns type that allows to mark instance as application component e.g.emitterType(String dataType) Returns type to be used as message emittercom.github.javaparser.ast.expr.ExpressiongetMultiInstance(String fieldName) Creates an expression that returns a list of instances for given multi instance fieldReturns type that allows to inject multiple instances of the same typecom.github.javaparser.ast.expr.ExpressionoptionalInstanceExists(String fieldName) Creates an expression that represents optional instance for given fieldReturns type that allows to inject optional instances of the same type<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithApplicationComponent(T node) Annotates given node with application level annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithConfigInjection(T node, String configKey) Annotates given node with configuration parameter injection<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithConfigInjection(T node, String configKey, String defaultValue) Annotates given node with configuration parameter injection with default value<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithEagerStartup(T node) Annotates given node with a initializing annotation e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithFactoryClass(T node) Annotates given node with factory class annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithFactoryMethod(T node) Annotates given node with factory method annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithIncomingMessage(T node, String channel) Annotates given node with incoming message that it should consume from<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithInjection(T node, boolean lazy) Annotates given node with injection annotations e.g.com.github.javaparser.ast.expr.MethodCallExprwithMessageProducer(com.github.javaparser.ast.expr.MethodCallExpr produceMethod, String channel, com.github.javaparser.ast.expr.Expression event) Annotates and enhances method used to produce messages<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TAnnotates given node with name annotation e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithNamedApplicationComponent(T node, String name) Annotates given node with application level annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithNamedInjection(T node, String name) Annotates given node with injection annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithNamedSingletonComponent(T node, String name) Annotates given node with singleton level annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithOptionalInjection(T node) Annotates given node with optional injection annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithOutgoingMessage(T node, String channel) Annotates given node with outgoing message that it should send to<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithProduces(T node, boolean isDefault) Annotates the given node with an annotation to produce a DI instance of the node target class, e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithSingletonComponent(T node) Annotates given node with singleton level annotations e.g.<T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
TwithTagAnnotation(T node, com.github.javaparser.ast.NodeList<com.github.javaparser.ast.expr.MemberValuePair> attributes) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.drools.codegen.common.di.DependencyInjectionAnnotator
getOptionalInstance, withInjection, withSecurityRoles, withTransactional
-
Constructor Details
-
CDIDependencyInjectionAnnotator
public CDIDependencyInjectionAnnotator()
-
-
Method Details
-
withProduces
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withProduces(T node, boolean isDefault) Description copied from interface:DependencyInjectionAnnotatorAnnotates the given node with an annotation to produce a DI instance of the node target class, e.g. Produces, Bean. This is used by configuration classes in the DI, like a factory method.- Specified by:
withProducesin interfaceDependencyInjectionAnnotatorisDefault- indicates if the bean instance is created only if there are not any other bean of this type already declared in the application, e.g DefaultBean
-
withNamed
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamed(T node, String name) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with name annotation e.g. Named, Qualifier- Specified by:
withNamedin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
withApplicationComponent
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withApplicationComponent(T node) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with application level annotations e.g. ApplicationScoped, Component- Specified by:
withApplicationComponentin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
withNamedApplicationComponent
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamedApplicationComponent(T node, String name) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with application level annotations e.g. ApplicationScoped, Component additionally adding name to it- Specified by:
withNamedApplicationComponentin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotatedname- name to be assigned to given node
-
withSingletonComponent
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withSingletonComponent(T node) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with singleton level annotations e.g. Singleton, Component- Specified by:
withSingletonComponentin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
withNamedSingletonComponent
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamedSingletonComponent(T node, String name) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with singleton level annotations e.g. Singleton, Component additionally adding name to it- Specified by:
withNamedSingletonComponentin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotatedname- name to be assigned to given node
-
withInjection
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withInjection(T node, boolean lazy) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with injection annotations e.g. Inject, Autowire- Specified by:
withInjectionin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
withNamedInjection
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamedInjection(T node, String name) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with injection annotations e.g. Inject, Autowire additionally adding name to it- Specified by:
withNamedInjectionin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotatedname- name to be assigned to given node
-
withOptionalInjection
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withOptionalInjection(T node) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with optional injection annotations e.g. Inject, Autowire- Specified by:
withOptionalInjectionin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
withIncomingMessage
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withIncomingMessage(T node, String channel) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with incoming message that it should consume from- Specified by:
withIncomingMessagein interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotatedchannel- name of the channel messages should be consumer from
-
withOutgoingMessage
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withOutgoingMessage(T node, String channel) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with outgoing message that it should send to- Specified by:
withOutgoingMessagein interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotatedchannel- name of the channel messages should be send to
-
withMessageProducer
public com.github.javaparser.ast.expr.MethodCallExpr withMessageProducer(com.github.javaparser.ast.expr.MethodCallExpr produceMethod, String channel, com.github.javaparser.ast.expr.Expression event) Description copied from interface:DependencyInjectionAnnotatorAnnotates and enhances method used to produce messages- Specified by:
withMessageProducerin interfaceDependencyInjectionAnnotator- Parameters:
produceMethod- method to be annotatedchannel- channel on which messages should be producedevent- actual data to be send
-
optionalInstanceInjectionType
Description copied from interface:DependencyInjectionAnnotatorReturns type that allows to inject optional instances of the same type- Specified by:
optionalInstanceInjectionTypein interfaceDependencyInjectionAnnotator- Returns:
- fully qualified class name
-
optionalInstanceExists
Description copied from interface:DependencyInjectionAnnotatorCreates an expression that represents optional instance for given field- Specified by:
optionalInstanceExistsin interfaceDependencyInjectionAnnotator- Parameters:
fieldName- name of the field that should be considered optional- Returns:
- complete expression for optional instance
-
multiInstanceInjectionType
Description copied from interface:DependencyInjectionAnnotatorReturns type that allows to inject multiple instances of the same type- Specified by:
multiInstanceInjectionTypein interfaceDependencyInjectionAnnotator- Returns:
- fully qualified class name
-
getMultiInstance
Description copied from interface:DependencyInjectionAnnotatorCreates an expression that returns a list of instances for given multi instance field- Specified by:
getMultiInstancein interfaceDependencyInjectionAnnotator- Parameters:
fieldName- name of the multi field that should be accessed- Returns:
- complete expression for multi instance
-
applicationComponentType
Description copied from interface:DependencyInjectionAnnotatorReturns type that allows to mark instance as application component e.g. ApplicationScoped, Component- Specified by:
applicationComponentTypein interfaceDependencyInjectionAnnotator- Returns:
- fully qualified class name
-
emitterType
Description copied from interface:DependencyInjectionAnnotatorReturns type to be used as message emitter- Specified by:
emitterTypein interfaceDependencyInjectionAnnotator- Parameters:
dataType- type of the data produces by the emitter- Returns:
- fully qualified class name
-
withConfigInjection
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withConfigInjection(T node, String configKey) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with configuration parameter injection- Specified by:
withConfigInjectionin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotatedconfigKey- name of the configuration property to be injected
-
withConfigInjection
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withConfigInjection(T node, String configKey, String defaultValue) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with configuration parameter injection with default value- Specified by:
withConfigInjectionin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotatedconfigKey- name of the configuration property to be injecteddefaultValue- value to be used in case there is no config parameter defined
-
withEagerStartup
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withEagerStartup(T node) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with a initializing annotation e.g. Startup- Specified by:
withEagerStartupin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
withFactoryClass
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withFactoryClass(T node) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with factory class annotations e.g. Configuration for Spring Boot- Specified by:
withFactoryClassin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
withFactoryMethod
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withFactoryMethod(T node) Description copied from interface:DependencyInjectionAnnotatorAnnotates given node with factory method annotations e.g. Produces, Bean- Specified by:
withFactoryMethodin interfaceDependencyInjectionAnnotator- Parameters:
node- node to be annotated
-
getTransactionalAnnotation
- Specified by:
getTransactionalAnnotationin interfaceDependencyInjectionAnnotator
-
withTagAnnotation
public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withTagAnnotation(T node, com.github.javaparser.ast.NodeList<com.github.javaparser.ast.expr.MemberValuePair> attributes) - Specified by:
withTagAnnotationin interfaceDependencyInjectionAnnotator
-