Class MessageLoggerImplementor


  • final class MessageLoggerImplementor
    extends ImplementationClassModel
    Used to generate a message logger implementation.

    Creates an implementation of the interface passed in.

    • Field Detail

      • logOnceVars

        private final java.util.Map<java.lang.String,​org.jboss.jdeparser.JVarDeclaration> logOnceVars
    • Constructor Detail

      • MessageLoggerImplementor

        public MessageLoggerImplementor​(javax.annotation.processing.ProcessingEnvironment processingEnv,
                                        MessageInterface messageInterface)
        Creates a new message logger code model.
        Parameters:
        processingEnv - the processing environment
        messageInterface - the message interface to implement
    • Method Detail

      • generateModel

        protected org.jboss.jdeparser.JClassDef generateModel()
                                                       throws java.lang.IllegalStateException
        Description copied from class: ClassModel
        Generate the code corresponding to this class model
        Overrides:
        generateModel in class ClassModel
        Returns:
        the generated code
        Throws:
        java.lang.IllegalStateException - if the class has already been defined.
      • createLoggerMethod

        private void createLoggerMethod​(MessageMethod messageMethod,
                                        org.jboss.jdeparser.JClassDef classDef,
                                        org.jboss.jdeparser.JAssignableExpr logger)
        Create the logger method body.
        Parameters:
        messageMethod - the message method.
        classDef - the class definition used to create the method on
        logger - the logger to use.
      • createParameters

        private java.util.Map<Parameter,​org.jboss.jdeparser.JParamDeclaration> createParameters​(MessageMethod messageMethod,
                                                                                                      org.jboss.jdeparser.JMethodDef method)