Annotation Type ModuleGen


  • @Retention(RUNTIME)
    @Target(PACKAGE)
    public @interface ModuleGen
    Declares a Codegen module, all the processed elements contained in the annotated package or one of its child package will be part of the same module. The identity of the module plays an important role as it can be used by a runtime to load a module.

    The name() declares the name of the module: a non hierarchical name. Such name is used by the JavaScript or Ruby language to generate modules for their runtime. The Java or Groovy runtime do not use this info.

    The groupPackage() declares the group name of the module: the package of the group used for generating the generated package names (for Groovy or RxJava generation).

    @ModuleGen(name = "acme", groupPackage="com.acme") package com.acme.myservice; The group package must be a prefix of the annotated module package, it defines the naming of the generate packages for the modules that belongs to the same group, in this case:

    • com.acme.groovy... for Groovy API
    • com.acme.rxjava... for RxJava API

    For this particular `com.acme.myservice` module we have:

    • com.acme.groovy.myservice for Groovy API
    • com.acme.rxjava.myservice for RxJava API
    Author:
    Julien Viet
    • Element Detail

      • name

        String name
        Returns:
        the module name
      • groupPackage

        String groupPackage
        Returns:
        the module group package