OpenApiMarker

internal sealed class OpenApiMarker : Marker, IsObject

Represents the type of Markers that we can use for code generation. This includes OpenApiMarker.Enum, OpenApiMarker.Interface (and OpenApiMarker.AdditionalPropertyInterface), OpenApiMarker.TypeAlias, and OpenApiMarker.MarkerAlias. It's a bit more flexible than Marker and ensures the right arguments are given for the right type of Marker.

Inheritors

Types

Link copied to clipboard
class AdditionalPropertyInterface(nullable: Boolean, val valueType: FieldType, name: String, topInterfaceName: ValidFieldName, additionalPropertyPaths: List<JsonPath>, visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC, prependTopInterfaceName: Boolean = true) : OpenApiMarker.Interface

Special type of Interface that inherits AdditionalProperty. Also generates different read-methods in DefaultReadOpenApiMethod including automatic conversion to AdditionalProperty.

Link copied to clipboard
class Enum(nullable: Boolean, fields: List<GeneratedField>, name: String, topInterfaceName: ValidFieldName, visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC, prependTopInterfaceName: Boolean = true) : OpenApiMarker

A Marker that will be used to generate an enum.

Link copied to clipboard
open class Interface(nullable: Boolean, fields: List<GeneratedField>, superMarkers: List<Marker>, name: String, topInterfaceName: ValidFieldName, val additionalPropertyPaths: List<JsonPath>, visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC, prependTopInterfaceName: Boolean = true) : OpenApiMarker

A Marker that will be used to generate an interface.

Link copied to clipboard
class MarkerAlias(superMarker: OpenApiMarker, topInterfaceName: ValidFieldName, nullable: Boolean, name: String, visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC, prependTopInterfaceName: Boolean = false) : OpenApiMarker

A Marker that will be used to generate a type alias that points at another Marker.

Link copied to clipboard
class TypeAlias(nullable: Boolean, name: String, topInterfaceName: ValidFieldName, val superMarkerName: String, val additionalPropertyPaths: List<JsonPath>, visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC, prependTopInterfaceName: Boolean = false) : OpenApiMarker

A Marker that will be used to generate a type alias that points at a primitive.

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val fields: List<GeneratedField>
Link copied to clipboard
abstract val isObject: Boolean
Link copied to clipboard
Link copied to clipboard
open override val name: String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val typeArguments: String
Link copied to clipboard
open override val typeParameters: String
Link copied to clipboard
open override val visibility: MarkerVisibility

Functions

Link copied to clipboard
fun containsColumn(columnName: String): Boolean
Link copied to clipboard
fun getField(columnName: String): GeneratedField?
Link copied to clipboard
fun implements(schema: Marker): Boolean
Link copied to clipboard
Link copied to clipboard
abstract fun toFieldType(): FieldType
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
abstract fun withName(name: String, prependTopInterfaceName: Boolean = true): OpenApiMarker
Link copied to clipboard
abstract fun withVisibility(visibility: MarkerVisibility): OpenApiMarker