JsonSchemaProcessor

@SupportedAnnotationTypes(value = ["*"])
@SupportedOptions(value = ["me.kpavlov.kt.schema.rootPackage", "me.kpavlov.kt.schema.include", "me.kpavlov.kt.schema.exclude"])
class JsonSchemaProcessor : AbstractProcessor(source)

JSR 269 annotation processor generating JSON Schema resources for @Schema-annotated Java types, reusing the shared schema IR and JSON Schema transformer from kt-schema-generator-core/kt-schema-generator-json — the same pipeline the KSP processor uses, so output shape (

$id/$

defs/$ref/nullability) stays identical.

Supports "*" annotation types so javac invokes it in every round: this lets the ROOT_PACKAGE_OPTION/INCLUDE_OPTION scanning pick up types even when no @Schema annotation is present in the compilation. The processor never claims annotations (always returns false) and deduplicates by type name, so it coexists safely with other processors.

Author

Konstantin Pavlov

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open fun getCompletions(element: Element?, annotation: AnnotationMirror?, member: ExecutableElement?, userText: String?): Iterable<out Completion?>?
Link copied to clipboard
Link copied to clipboard
open fun init(processingEnv: ProcessingEnvironment?)
Link copied to clipboard
open override fun process(annotations: MutableSet<out TypeElement>, roundEnv: RoundEnvironment): Boolean