Package io.apicurio.datamodels.deref
Class ReferencedNodeImporter
- java.lang.Object
-
- io.apicurio.datamodels.models.visitors.CombinedVisitorAdapter
-
- io.apicurio.datamodels.deref.ReferencedNodeImporter
-
- All Implemented Interfaces:
AsyncApi20Visitor,AsyncApi21Visitor,AsyncApi22Visitor,AsyncApi23Visitor,AsyncApi24Visitor,AsyncApi25Visitor,AsyncApi26Visitor,AsyncApi30Visitor,AsyncApiVisitor,OpenApi20Visitor,OpenApi30Visitor,OpenApi31Visitor,OpenApiVisitor,Visitor
- Direct Known Subclasses:
AsyncApi2NodeImporter,AsyncApi3NodeImporter,OpenApi2NodeImporter,OpenApi3NodeImporter
public abstract class ReferencedNodeImporter extends CombinedVisitorAdapter
-
-
Constructor Summary
Constructors Constructor Description ReferencedNodeImporter(Document doc, Node nodeWithUnresolvedRef, String ref, boolean shouldInline)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringgenerateNodeName(String nameHint, Collection<String> existingNames)protected StringgetComponentName(Node nodeWithUnresolvedRef)protected Collection<String>getComponentNames(Map<String,?> components)protected DocumentgetDoc()NodegetImportedNode()StringgetNameHintFromRef(String defaultHint)protected NodegetNodeWithUnresolvedRef()StringgetPathToImportedNode()protected StringgetRef()voidimportJson(com.fasterxml.jackson.databind.JsonNode jsonNode, String mediaType)Imports a JsonNode (JSON/YAML content that is not OpenAPI/AsyncAPI).voidimportNode(Node resolvedNode)voidimportText(String textContent, String mediaType)Imports text content (non-JSON content such as Protocol Buffers, GraphQL, etc.).protected voidinlineComponent(String componentType, Node node)voidsetPathToImportedNode(Node importedNode, String pathToImportedNode)protected abstract voidsetPathToImportedNode(Node nodeWithUnresolvedRef, String componentType, String componentName)booleanshouldInline()-
Methods inherited from class io.apicurio.datamodels.models.visitors.CombinedVisitorAdapter
visitBinding, visitCallback, visitChannel, visitChannelBindings, visitChannelItem, visitChannels, visitComponents, visitContact, visitCorrelationID, visitDefinitions, visitDiscriminator, visitDocument, visitEncoding, visitExample, visitExternalDocumentation, visitHeader, visitInfo, visitItems, visitLicense, visitLink, visitMediaType, visitMessage, visitMessageBindings, visitMessageExample, visitMessageTrait, visitMultiFormatSchema, visitOAuthFlow, visitOAuthFlows, visitOneOfMessages, visitOperation, visitOperationBindings, visitOperationReply, visitOperationReplyAddress, visitOperations, visitOperationTrait, visitParameter, visitParameterDefinitions, visitParameters, visitPathItem, visitPaths, visitReference, visitRequestBody, visitResponse, visitResponseDefinitions, visitResponses, visitSchema, visitScopes, visitSecurityDefinitions, visitSecurityRequirement, visitSecurityScheme, visitServer, visitServerBindings, visitServers, visitServerVariable, visitTag, visitXML
-
-
-
-
Method Detail
-
getImportedNode
public Node getImportedNode()
-
getPathToImportedNode
public String getPathToImportedNode()
-
getDoc
protected Document getDoc()
-
getNodeWithUnresolvedRef
protected Node getNodeWithUnresolvedRef()
-
getRef
protected String getRef()
-
shouldInline
public boolean shouldInline()
-
importNode
public void importNode(Node resolvedNode)
-
importJson
public void importJson(com.fasterxml.jackson.databind.JsonNode jsonNode, String mediaType)Imports a JsonNode (JSON/YAML content that is not OpenAPI/AsyncAPI). Subclasses should override this method to handle JSON content appropriately. The default implementation throws an UnsupportedOperationException.- Parameters:
jsonNode- the JsonNode to importmediaType- the media type of the content (may be null)
-
importText
public void importText(String textContent, String mediaType)
Imports text content (non-JSON content such as Protocol Buffers, GraphQL, etc.). Subclasses should override this method to handle text content appropriately. The default implementation throws an UnsupportedOperationException.- Parameters:
textContent- the text content to importmediaType- the media type of the content (may be null)
-
setPathToImportedNode
public void setPathToImportedNode(Node importedNode, String pathToImportedNode)
-
generateNodeName
protected String generateNodeName(String nameHint, Collection<String> existingNames)
-
getComponentNames
protected Collection<String> getComponentNames(Map<String,?> components)
-
-