Package com.arc_e_tect.gradle.apionly.transcriberj.spi


package com.arc_e_tect.gradle.apionly.transcriberj.spi
The emitter interface: how a library adds a dialect to the classes the API-Only TranscriberJ generates.

An emitter is a library that implements Emitter and lists its implementation in META-INF/services/com.arc_e_tect.gradle.apionly.transcriberj.spi.Emitter. A project that wants it adds the library to its transcriberjEmitters configuration; the plugin loads it in a class loader of its own and runs it over the contract model, after the built-in core emitter.

The core emitter decides every class name once, in ClassNames, so that a dialect's companion class and the core class it belongs to always agree.

  • Class
    Description
    The core classes of one contract, as the core emitter names them.
    A dialect of generated code: REST Docs descriptors, WireMock stubs, and the like.
    What an emitter is given to write one contract's classes.
    One core class, as the core emitter names it.
    A library generated code needs.
    What a generated class was generated from.
    How a project has asked for one contract's classes to be generated.