Class CustomOpenApiResolver

java.lang.Object
io.swagger.v3.core.jackson.AbstractModelConverter
io.swagger.v3.core.jackson.ModelResolver
org.praxisplatform.uischema.extension.CustomOpenApiResolver
All Implemented Interfaces:
io.swagger.v3.core.converter.ModelConverter

public class CustomOpenApiResolver extends io.swagger.v3.core.jackson.ModelResolver
Resolver OpenAPI que enriquece schemas com a extensao x-ui.

Esta e uma das classes mais centrais do starter: ela transforma anotacoes Java, tipos OpenAPI, validacoes Jakarta e heuristicas de renderizacao em metadados estruturados que alimentam o contrato metadata-driven consumido por /schemas/filtered e pelos frontends Praxis.

A precedencia aplicada segue a semantica canônica da plataforma: defaults da anotacao UISchema, deteccao heuristica baseada no schema, overrides explicitos da anotacao, validacoes Jakarta e por fim extraProperties.

Since:
1.0.0
  • Field Summary

    Fields inherited from class io.swagger.v3.core.jackson.ModelResolver

    composedModelPropertiesAsSibling, enumsAsRef, NOT_NULL_ANNOTATIONS, SET_PROPERTY_OF_COMPOSED_MODEL_AS_SIBLING, SET_PROPERTY_OF_ENUMS_AS_REF

    Fields inherited from class io.swagger.v3.core.jackson.AbstractModelConverter

    _intr, _mapper, _resolvedTypeNames, _typeNameResolver
  • Constructor Summary

    Constructors
    Constructor
    Description
    CustomOpenApiResolver(com.fasterxml.jackson.databind.ObjectMapper mapper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    applyBeanValidatorAnnotations(io.swagger.v3.oas.models.media.Schema property, Annotation[] annotations, io.swagger.v3.oas.models.media.Schema parent, boolean applyNotNullAnnotations)
     

    Methods inherited from class io.swagger.v3.core.jackson.ModelResolver

    _addEnumProps, _isOptionalType, addRequiredItem, applyBeanValidatorAnnotations, buildRefSchemaIfObject, decorateModelName, findJsonValueType, getComposedSchemaReferencedClasses, hasHiddenAnnotation, hiddenByJsonView, ignore, ignore, isObjectSchema, isOpenapi31, objectMapper, openapi31, resolve, resolve$anchor, resolve$comment, resolve$dynamicAnchor, resolve$schema, resolve$vocabulary, resolveAccessMode, resolveAllowableValues, resolveConst, resolveContains, resolveContentEncoding, resolveContentMediaType, resolveDefaultValue, resolveDependentRequired, resolveDependentSchemas, resolveDependentSchemas, resolveDeprecated, resolveDescription, resolveDiscriminator, resolveDiscriminatorProperty, resolveExample, resolveExclusiveMaximum, resolveExclusiveMaximumValue, resolveExclusiveMinimum, resolveExclusiveMinimumValue, resolveExtensions, resolveExtensions, resolveExternalDocumentation, resolveExternalDocumentation, resolveFormat, resolveId, resolveIgnoredProperties, resolveIgnoredProperties, resolveMaxContains, resolveMaximum, resolveMaxItems, resolveMaxLength, resolveMaxProperties, resolveMinContains, resolveMinimum, resolveMinItems, resolveMinLength, resolveMinProperties, resolveMultipleOf, resolveNullable, resolvePattern, resolvePatternProperties, resolvePatternProperties, resolveProperties, resolveReadOnly, resolveRequiredMode, resolveRequiredProperties, resolveSchemaMembers, resolveSchemaMembers, resolveSchemaMembers, resolveSchemaProperties, resolveTitle, resolveUnevaluatedItems, resolveUniqueItems, resolveWrapping, resolveWriteOnly, resolveXml, setOpenapi31, shouldIgnoreClass

    Methods inherited from class io.swagger.v3.core.jackson.AbstractModelConverter

    _findTypeName, _isSetType, _subTypeName, _typeName, _typeName, _typeQName

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CustomOpenApiResolver

      public CustomOpenApiResolver(com.fasterxml.jackson.databind.ObjectMapper mapper)
  • Method Details

    • applyBeanValidatorAnnotations

      protected void applyBeanValidatorAnnotations(io.swagger.v3.oas.models.media.Schema property, Annotation[] annotations, io.swagger.v3.oas.models.media.Schema parent, boolean applyNotNullAnnotations)
      Overrides:
      applyBeanValidatorAnnotations in class io.swagger.v3.core.jackson.ModelResolver