Class OpenAPIDeserializer

java.lang.Object
io.swagger.v3.parser.util.OpenAPIDeserializer

public class OpenAPIDeserializer extends Object
  • Field Details

    • JSON_SCHEMA_2020_12_TYPES

      protected static Set<String> JSON_SCHEMA_2020_12_TYPES
    • ROOT_KEYS

      protected static Set<String> ROOT_KEYS
    • INFO_KEYS

      protected static Set<String> INFO_KEYS
    • CONTACT_KEYS

      protected static Set<String> CONTACT_KEYS
    • LICENSE_KEYS

      protected static Set<String> LICENSE_KEYS
    • TAG_KEYS

      protected static Set<String> TAG_KEYS
    • RESPONSE_KEYS

      protected static Set<String> RESPONSE_KEYS
    • SERVER_KEYS

      protected static Set<String> SERVER_KEYS
    • SERVER_VARIABLE_KEYS

      protected static Set<String> SERVER_VARIABLE_KEYS
    • PATHITEM_KEYS

      protected static Set<String> PATHITEM_KEYS
    • OPERATION_KEYS

      protected static Set<String> OPERATION_KEYS
    • PARAMETER_KEYS

      protected static Set<String> PARAMETER_KEYS
    • REQUEST_BODY_KEYS

      protected static Set<String> REQUEST_BODY_KEYS
    • SECURITY_SCHEME_KEYS

      protected static Set<String> SECURITY_SCHEME_KEYS
    • EXTERNAL_DOCS_KEYS

      protected static Set<String> EXTERNAL_DOCS_KEYS
    • COMPONENTS_KEYS

      protected static Set<String> COMPONENTS_KEYS
    • SCHEMA_KEYS

      protected static Set<String> SCHEMA_KEYS
    • EXAMPLE_KEYS

      protected static Set<String> EXAMPLE_KEYS
    • HEADER_KEYS

      protected static Set<String> HEADER_KEYS
    • MEDIATYPE_KEYS

      protected static Set<String> MEDIATYPE_KEYS
    • XML_KEYS

      protected static Set<String> XML_KEYS
    • OAUTHFLOW_KEYS

      protected static Set<String> OAUTHFLOW_KEYS
    • OAUTHFLOWS_KEYS

      protected static Set<String> OAUTHFLOWS_KEYS
    • ENCODING_KEYS

      protected static Set<String> ENCODING_KEYS
    • ROOT_KEYS_31

      protected static Set<String> ROOT_KEYS_31
    • RESERVED_KEYWORDS_31

      protected static Set<String> RESERVED_KEYWORDS_31
    • INFO_KEYS_31

      protected static Set<String> INFO_KEYS_31
    • CONTACT_KEYS_31

      protected static Set<String> CONTACT_KEYS_31
    • LICENSE_KEYS_31

      protected static Set<String> LICENSE_KEYS_31
    • TAG_KEYS_31

      protected static Set<String> TAG_KEYS_31
    • RESPONSE_KEYS_31

      protected static Set<String> RESPONSE_KEYS_31
    • SERVER_KEYS_31

      protected static Set<String> SERVER_KEYS_31
    • SERVER_VARIABLE_KEYS_31

      protected static Set<String> SERVER_VARIABLE_KEYS_31
    • PATHITEM_KEYS_31

      protected static Set<String> PATHITEM_KEYS_31
    • OPERATION_KEYS_31

      protected static Set<String> OPERATION_KEYS_31
    • PARAMETER_KEYS_31

      protected static Set<String> PARAMETER_KEYS_31
    • REQUEST_BODY_KEYS_31

      protected static Set<String> REQUEST_BODY_KEYS_31
    • SECURITY_SCHEME_KEYS_31

      protected static Set<String> SECURITY_SCHEME_KEYS_31
    • EXTERNAL_DOCS_KEYS_31

      protected static Set<String> EXTERNAL_DOCS_KEYS_31
    • COMPONENTS_KEYS_31

      protected static Set<String> COMPONENTS_KEYS_31
    • SCHEMA_KEYS_31

      protected static Set<String> SCHEMA_KEYS_31
    • EXAMPLE_KEYS_31

      protected static Set<String> EXAMPLE_KEYS_31
    • HEADER_KEYS_31

      protected static Set<String> HEADER_KEYS_31
    • MEDIATYPE_KEYS_31

      protected static Set<String> MEDIATYPE_KEYS_31
    • XML_KEYS_31

      protected static Set<String> XML_KEYS_31
    • OAUTHFLOW_KEYS_31

      protected static Set<String> OAUTHFLOW_KEYS_31
    • OAUTHFLOWS_KEYS_31

      protected static Set<String> OAUTHFLOWS_KEYS_31
    • ENCODING_KEYS_31

      protected static Set<String> ENCODING_KEYS_31
    • KEYS

      protected static Map<String,Map<String,Set<String>>> KEYS
    • validNodeTypes

      protected static Set<com.fasterxml.jackson.databind.node.JsonNodeType> validNodeTypes
  • Constructor Details

    • OpenAPIDeserializer

      public OpenAPIDeserializer()
  • Method Details

    • deserialize

      public io.swagger.v3.parser.core.models.SwaggerParseResult deserialize(com.fasterxml.jackson.databind.JsonNode rootNode)
    • deserialize

      public io.swagger.v3.parser.core.models.SwaggerParseResult deserialize(com.fasterxml.jackson.databind.JsonNode rootNode, String path)
    • deserialize

      public io.swagger.v3.parser.core.models.SwaggerParseResult deserialize(com.fasterxml.jackson.databind.JsonNode rootNode, String path, io.swagger.v3.parser.core.models.ParseOptions options)
    • deserialize

      public io.swagger.v3.parser.core.models.SwaggerParseResult deserialize(com.fasterxml.jackson.databind.JsonNode rootNode, String path, io.swagger.v3.parser.core.models.ParseOptions options, boolean isOaiAuthor)
    • parseRoot

      public io.swagger.v3.oas.models.OpenAPI parseRoot(com.fasterxml.jackson.databind.JsonNode node, OpenAPIDeserializer.ParseResult result, String path)
    • mungedRef

      public String mungedRef(String refString)
    • getExtensions

      public Map<String,Object> getExtensions(com.fasterxml.jackson.databind.node.ObjectNode node)
    • getComponents

      public io.swagger.v3.oas.models.Components getComponents(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getTagList

      public List<io.swagger.v3.oas.models.tags.Tag> getTagList(com.fasterxml.jackson.databind.node.ArrayNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getTag

      public io.swagger.v3.oas.models.tags.Tag getTag(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getServersList

      public List<io.swagger.v3.oas.models.servers.Server> getServersList(com.fasterxml.jackson.databind.node.ArrayNode obj, String location, OpenAPIDeserializer.ParseResult result, String path)
    • getServersList

      public List<io.swagger.v3.oas.models.servers.Server> getServersList(com.fasterxml.jackson.databind.node.ArrayNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getServer

      public io.swagger.v3.oas.models.servers.Server getServer(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getServer

      public io.swagger.v3.oas.models.servers.Server getServer(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, String path)
    • getServerVariables

      public io.swagger.v3.oas.models.servers.ServerVariables getServerVariables(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getServerVariable

      public io.swagger.v3.oas.models.servers.ServerVariable getServerVariable(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getPaths

      public io.swagger.v3.oas.models.Paths getPaths(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getPathItems

      public Map<String,io.swagger.v3.oas.models.PathItem> getPathItems(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getWebhooks

      public Map<String,io.swagger.v3.oas.models.PathItem> getWebhooks(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getPathItems

      protected boolean getPathItems(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, Map<String,io.swagger.v3.oas.models.PathItem> paths, boolean isWebhook)
    • getAllOperationsInAPath

      public List<io.swagger.v3.oas.models.Operation> getAllOperationsInAPath(io.swagger.v3.oas.models.PathItem pathObj)
    • getPathItem

      public io.swagger.v3.oas.models.PathItem getPathItem(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getExternalDocs

      public io.swagger.v3.oas.models.ExternalDocumentation getExternalDocs(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getString

      public String getString(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result, Set<String> uniqueValues, boolean noInvalidError)
    • getString

      public String getString(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result, Set<String> uniqueValues)
    • getString

      public String getString(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result)
    • getKeys

      public Set<String> getKeys(com.fasterxml.jackson.databind.node.ObjectNode node)
    • getObject

      public com.fasterxml.jackson.databind.node.ObjectNode getObject(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result)
    • getObjectOrBoolean

      public com.fasterxml.jackson.databind.JsonNode getObjectOrBoolean(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result)
    • getInfo

      public io.swagger.v3.oas.models.info.Info getInfo(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getLicense

      public io.swagger.v3.oas.models.info.License getLicense(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getContact

      public io.swagger.v3.oas.models.info.Contact getContact(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getContent

      public io.swagger.v3.oas.models.media.Content getContent(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getMediaType

      public io.swagger.v3.oas.models.media.MediaType getMediaType(com.fasterxml.jackson.databind.node.ObjectNode contentNode, String location, OpenAPIDeserializer.ParseResult result)
    • getEncodingMap

      public Map<String,io.swagger.v3.oas.models.media.Encoding> getEncodingMap(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getEncoding

      public io.swagger.v3.oas.models.media.Encoding getEncoding(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getLinks

      public Map<String,io.swagger.v3.oas.models.links.Link> getLinks(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getLink

      public io.swagger.v3.oas.models.links.Link getLink(com.fasterxml.jackson.databind.node.ObjectNode linkNode, String location, OpenAPIDeserializer.ParseResult result)
    • getCallbacks

      public Map<String,io.swagger.v3.oas.models.callbacks.Callback> getCallbacks(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getCallback

      public io.swagger.v3.oas.models.callbacks.Callback getCallback(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getXml

      public io.swagger.v3.oas.models.media.XML getXml(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getArray

      public com.fasterxml.jackson.databind.node.ArrayNode getArray(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result, boolean noInvalidError)
    • getArray

      public com.fasterxml.jackson.databind.node.ArrayNode getArray(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result)
    • getBoolean

      public Boolean getBoolean(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result)
    • getBigDecimal

      public BigDecimal getBigDecimal(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result)
    • getInteger

      public Integer getInteger(String key, com.fasterxml.jackson.databind.node.ObjectNode node, boolean required, String location, OpenAPIDeserializer.ParseResult result)
    • getParameters

      public Map<String,io.swagger.v3.oas.models.parameters.Parameter> getParameters(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getParameterList

      public List<io.swagger.v3.oas.models.parameters.Parameter> getParameterList(com.fasterxml.jackson.databind.node.ArrayNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getParameter

      public io.swagger.v3.oas.models.parameters.Parameter getParameter(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getHeaders

      public Map<String,io.swagger.v3.oas.models.headers.Header> getHeaders(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getHeader

      public io.swagger.v3.oas.models.headers.Header getHeader(com.fasterxml.jackson.databind.node.ObjectNode headerNode, String location, OpenAPIDeserializer.ParseResult result)
    • getAnyType

      public Object getAnyType(String nodeKey, com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getSecuritySchemes

      public Map<String,io.swagger.v3.oas.models.security.SecurityScheme> getSecuritySchemes(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getSecurityScheme

      public io.swagger.v3.oas.models.security.SecurityScheme getSecurityScheme(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getOAuthFlows

      public io.swagger.v3.oas.models.security.OAuthFlows getOAuthFlows(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getOAuthFlow

      public io.swagger.v3.oas.models.security.OAuthFlow getOAuthFlow(String oAuthFlowType, com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getSchemas

      public Map<String,io.swagger.v3.oas.models.media.Schema> getSchemas(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getDiscriminator

      public io.swagger.v3.oas.models.media.Discriminator getDiscriminator(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getSchema

      public io.swagger.v3.oas.models.media.Schema getSchema(com.fasterxml.jackson.databind.JsonNode jsonNode, String location, OpenAPIDeserializer.ParseResult result)
    • getCommonSchemaFields

      protected void getCommonSchemaFields(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result, io.swagger.v3.oas.models.media.Schema schema)
    • getExamples

      public Map<String,io.swagger.v3.oas.models.examples.Example> getExamples(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getExample

      public io.swagger.v3.oas.models.examples.Example getExample(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • setStyle

      public void setStyle(String value, io.swagger.v3.oas.models.parameters.Parameter parameter, String location, com.fasterxml.jackson.databind.node.ObjectNode obj, OpenAPIDeserializer.ParseResult result)
    • getResponses

      public io.swagger.v3.oas.models.responses.ApiResponses getResponses(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getResponse

      public io.swagger.v3.oas.models.responses.ApiResponse getResponse(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • getTagsStrings

      public List<String> getTagsStrings(com.fasterxml.jackson.databind.node.ArrayNode nodes, String location, OpenAPIDeserializer.ParseResult result)
    • getOperation

      public io.swagger.v3.oas.models.Operation getOperation(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result)
    • getSecurityRequirementsList

      public List<io.swagger.v3.oas.models.security.SecurityRequirement> getSecurityRequirementsList(com.fasterxml.jackson.databind.node.ArrayNode nodes, String location, OpenAPIDeserializer.ParseResult result)
    • getRequestBodies

      public Map<String,io.swagger.v3.oas.models.parameters.RequestBody> getRequestBodies(com.fasterxml.jackson.databind.node.ObjectNode obj, String location, OpenAPIDeserializer.ParseResult result, boolean underComponents)
    • getRequestBody

      public io.swagger.v3.oas.models.parameters.RequestBody getRequestBody(com.fasterxml.jackson.databind.node.ObjectNode node, String location, OpenAPIDeserializer.ParseResult result)
    • inferTypeFromArray

      public String inferTypeFromArray(com.fasterxml.jackson.databind.node.ArrayNode an)
    • getJsonSchemaParserExtensions

      public static List<JsonSchemaParserExtension> getJsonSchemaParserExtensions()
      Locates extensions on the current thread class loader and then, if it differs from this class classloader (as in OSGi), locates extensions from this class classloader as well.
      Returns:
      a list of extensions
    • getJsonSchemaParserExtensions

      protected static List<JsonSchemaParserExtension> getJsonSchemaParserExtensions(ClassLoader cl)
      Locates the extensions for given ClassLoader and stores them for performance reason in an in-memory (LRU) cache.
      Parameters:
      cl - the ClassLoader for which the extensions are located
      Returns:
    • getJsonSchema

      public io.swagger.v3.oas.models.media.Schema getJsonSchema(com.fasterxml.jackson.databind.JsonNode jsonNode, String location, OpenAPIDeserializer.ParseResult result)