Class CDIDependencyInjectionAnnotator

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String applicationComponentType()
      Returns type that allows to mark instance as application component e.g.
      java.lang.String emitterType​(java.lang.String dataType)
      Returns type to be used as message emitter
      com.github.javaparser.ast.expr.Expression getMultiInstance​(java.lang.String fieldName)
      Creates an expression that returns a list of instances for given multi instance field
      java.lang.String multiInstanceInjectionType()
      Returns type that allows to inject multiple instances of the same type
      java.lang.String objectMapperInjectorSource​(java.lang.String packageName)  
      com.github.javaparser.ast.expr.Expression optionalInstanceExists​(java.lang.String fieldName)
      Creates an expression that represents optional instance for given field
      java.lang.String optionalInstanceInjectionType()
      Returns type that allows to inject optional instances of the same type
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withApplicationComponent​(T node)
      Annotates given node with application level annotations e.g.
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withBlocking​(T node)
      Annotates given node with blocking annotation
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withCloudEventMapping​(T node, java.lang.String trigger, java.lang.String filter)
      Annotates given node with cloud event mapping for function flow
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withConfig​(T node, java.lang.String configKey)
      Annotates given node with configuration parameter injection
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withConfigInjection​(T node, java.lang.String configKey)
      Annotates given node with configuration parameter injection
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withConfigInjection​(T node, java.lang.String configKey, java.lang.String defaultValue)
      Annotates given node with configuration parameter injection with default value
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withFunction​(T node)
      Annotates given node with function
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withIncomingMessage​(T node, java.lang.String channel)
      Annotates given node with incoming message that it should consume from
      com.github.javaparser.ast.body.MethodDeclaration withInitMethod​(com.github.javaparser.ast.expr.Expression... expression)
      Create initialization method with given expression as body
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withInjection​(T node)
      Annotates given node with injection annotations e.g.
      com.github.javaparser.ast.expr.MethodCallExpr withMessageProducer​(com.github.javaparser.ast.expr.MethodCallExpr produceMethod, java.lang.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<?>>
      T
      withNamed​(T node, java.lang.String name)
      Annotates given node with name annotation e.g.
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withNamedApplicationComponent​(T node, java.lang.String name)
      Annotates given node with application level annotations e.g.
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withNamedInjection​(T node, java.lang.String name)
      Annotates given node with injection annotations e.g.
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withNamedSingletonComponent​(T node, java.lang.String name)
      Annotates given node with singleton level annotations e.g.
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withOptionalInjection​(T node)
      Annotates given node with optional injection annotations e.g.
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withOutgoingMessage​(T node, java.lang.String channel)
      Annotates given node with outgoing message that it should send to
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withRestClientInjection​(T node)
      Annotates given node with rest client injection
      <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>>
      T
      withSingletonComponent​(T node)
      Annotates given node with singleton level annotations e.g.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CDIDependencyInjectionAnnotator

        public CDIDependencyInjectionAnnotator()
    • Method Detail

      • withNamed

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamed​(T node,
                                                                                                  java.lang.String name)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with name annotation e.g. Named, Qualifier
        Specified by:
        withNamed in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
      • withApplicationComponent

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withApplicationComponent​(T node)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with application level annotations e.g. ApplicationScoped, Component
        Specified by:
        withApplicationComponent in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
      • withNamedApplicationComponent

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamedApplicationComponent​(T node,
                                                                                                                      java.lang.String name)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with application level annotations e.g. ApplicationScoped, Component additionally adding name to it
        Specified by:
        withNamedApplicationComponent in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        name - 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: DependencyInjectionAnnotator
        Annotates given node with singleton level annotations e.g. Singleton, Component
        Specified by:
        withSingletonComponent in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
      • withNamedSingletonComponent

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamedSingletonComponent​(T node,
                                                                                                                    java.lang.String name)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with singleton level annotations e.g. Singleton, Component additionally adding name to it
        Specified by:
        withNamedSingletonComponent in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        name - name to be assigned to given node
      • withInjection

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withInjection​(T node)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with injection annotations e.g. Inject, Autowire
        Specified by:
        withInjection in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
      • withNamedInjection

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withNamedInjection​(T node,
                                                                                                           java.lang.String name)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with injection annotations e.g. Inject, Autowire additionally adding name to it
        Specified by:
        withNamedInjection in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        name - 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: DependencyInjectionAnnotator
        Annotates given node with optional injection annotations e.g. Inject, Autowire
        Specified by:
        withOptionalInjection in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
      • withIncomingMessage

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withIncomingMessage​(T node,
                                                                                                            java.lang.String channel)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with incoming message that it should consume from
        Specified by:
        withIncomingMessage in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        channel - name of the channel messages should be consumer from
      • withOutgoingMessage

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withOutgoingMessage​(T node,
                                                                                                            java.lang.String channel)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with outgoing message that it should send to
        Specified by:
        withOutgoingMessage in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        channel - 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,
                                                                                 java.lang.String channel,
                                                                                 com.github.javaparser.ast.expr.Expression event)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates and enhances method used to produce messages
        Specified by:
        withMessageProducer in interface DependencyInjectionAnnotator
        Parameters:
        produceMethod - method to be annotated
        channel - channel on which messages should be produced
        event - actual data to be send
      • withInitMethod

        public com.github.javaparser.ast.body.MethodDeclaration withInitMethod​(com.github.javaparser.ast.expr.Expression... expression)
        Description copied from interface: DependencyInjectionAnnotator
        Create initialization method with given expression as body
        Specified by:
        withInitMethod in interface DependencyInjectionAnnotator
        Parameters:
        expression - body of the init method
        Returns:
        complete initialization method declaration
      • optionalInstanceExists

        public com.github.javaparser.ast.expr.Expression optionalInstanceExists​(java.lang.String fieldName)
        Description copied from interface: DependencyInjectionAnnotator
        Creates an expression that represents optional instance for given field
        Specified by:
        optionalInstanceExists in interface DependencyInjectionAnnotator
        Parameters:
        fieldName - name of the field that should be considered optional
        Returns:
        complete expression for optional instance
      • getMultiInstance

        public com.github.javaparser.ast.expr.Expression getMultiInstance​(java.lang.String fieldName)
        Description copied from interface: DependencyInjectionAnnotator
        Creates an expression that returns a list of instances for given multi instance field
        Specified by:
        getMultiInstance in interface DependencyInjectionAnnotator
        Parameters:
        fieldName - name of the multi field that should be accessed
        Returns:
        complete expression for multi instance
      • emitterType

        public java.lang.String emitterType​(java.lang.String dataType)
        Description copied from interface: DependencyInjectionAnnotator
        Returns type to be used as message emitter
        Specified by:
        emitterType in interface DependencyInjectionAnnotator
        Parameters:
        dataType - type of the data produces by the emitter
        Returns:
        fully qualified class name
      • withConfig

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withConfig​(T node,
                                                                                                   java.lang.String configKey)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with configuration parameter injection
        Specified by:
        withConfig in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        configKey - name of the configuration property to be injected
      • withConfigInjection

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withConfigInjection​(T node,
                                                                                                            java.lang.String configKey)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with configuration parameter injection
        Specified by:
        withConfigInjection in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        configKey - name of the configuration property to be injected
      • withConfigInjection

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withConfigInjection​(T node,
                                                                                                            java.lang.String configKey,
                                                                                                            java.lang.String defaultValue)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with configuration parameter injection with default value
        Specified by:
        withConfigInjection in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        configKey - name of the configuration property to be injected
        defaultValue - value to be used in case there is no config parameter defined
      • withCloudEventMapping

        public <T extends com.github.javaparser.ast.nodeTypes.NodeWithAnnotations<?>> T withCloudEventMapping​(T node,
                                                                                                              java.lang.String trigger,
                                                                                                              java.lang.String filter)
        Description copied from interface: DependencyInjectionAnnotator
        Annotates given node with cloud event mapping for function flow
        Specified by:
        withCloudEventMapping in interface DependencyInjectionAnnotator
        Parameters:
        node - node to be annotated
        trigger - the trigger mapping for cloud event
        Returns:
        returns annotated node