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.
-
ClassDescriptionThe core classes of one contract, as the core emitter names them.A request, as the generated
ContractRequestof the same name holds it: the path template and the values that fill it kept apart, and no value encoded.One query parameter or header.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.One invalid-request case, as the generatedInvalidRequestCaseof the same name holds it, and where it is: an emitter that renders cases shapes its code by them, and takes their values from the generatedCASESat run time.A library generated code needs.What a generated class was generated from.What an emitter writes, in the mode its options select: the plugin places each kind where it belongs, and refuses a configuration that would put it anywhere else.How a project has asked for one contract's classes to be generated.