Package io.apicurio.datamodels.deref
Class InlineOrImportVisitor
- java.lang.Object
-
- io.apicurio.datamodels.models.visitors.AllNodeVisitor
-
- io.apicurio.datamodels.deref.AllReferenceableNodeVisitor
-
- io.apicurio.datamodels.deref.InlineOrImportVisitor
-
- All Implemented Interfaces:
AsyncApi20Visitor,AsyncApi21Visitor,AsyncApi22Visitor,AsyncApi23Visitor,AsyncApi24Visitor,AsyncApi25Visitor,AsyncApi26Visitor,AsyncApi30Visitor,AsyncApiVisitor,OpenApi20Visitor,OpenApi30Visitor,OpenApi31Visitor,OpenApiVisitor,CombinedVisitor,Visitor
public class InlineOrImportVisitor extends AllReferenceableNodeVisitor
Determines if a Node being dereferenced should be inlined or imported. Certain types of Nodes cannot be imported into e.g. #/components because there is no collection in the components entity for them. In other cases we inline because the Node containing the $ref is itself already located in the components section of the document, so there's no point in adding *another* component and pointing to it.- Author:
- eric.wittmann@gmail.com
-
-
Constructor Summary
Constructors Constructor Description InlineOrImportVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanshouldInline()voidvisitChannelItem(AsyncApiChannelItem node)voidvisitItems(OpenApi20Items node)voidvisitPathItem(OpenApiPathItem node)protected voidvisitReferenceableNode(Referenceable refNode)voidvisitResponses(OpenApiResponses node)voidvisitServer(Server node)voidvisitServerVariable(ServerVariable node)-
Methods inherited from class io.apicurio.datamodels.deref.AllReferenceableNodeVisitor
visitNode
-
Methods inherited from class io.apicurio.datamodels.models.visitors.AllNodeVisitor
visitBinding, visitCallback, visitChannel, visitChannelBindings, visitChannels, visitComponents, visitContact, visitCorrelationID, visitDefinitions, visitDiscriminator, visitDocument, visitEncoding, visitExample, visitExternalDocumentation, visitHeader, visitInfo, visitLicense, visitLink, visitMediaType, visitMessage, visitMessageBindings, visitMessageExample, visitMessageTrait, visitMultiFormatSchema, visitOAuthFlow, visitOAuthFlows, visitOneOfMessages, visitOperation, visitOperationBindings, visitOperationReply, visitOperationReplyAddress, visitOperations, visitOperationTrait, visitParameter, visitParameterDefinitions, visitParameters, visitPaths, visitReference, visitRequestBody, visitResponse, visitResponseDefinitions, visitSchema, visitScopes, visitSecurityDefinitions, visitSecurityRequirement, visitSecurityScheme, visitServerBindings, visitServers, visitTag, visitXML
-
-
-
-
Method Detail
-
shouldInline
public boolean shouldInline()
-
visitReferenceableNode
protected void visitReferenceableNode(Referenceable refNode)
- Specified by:
visitReferenceableNodein classAllReferenceableNodeVisitor
-
visitItems
public void visitItems(OpenApi20Items node)
- Specified by:
visitItemsin interfaceOpenApi20Visitor- Overrides:
visitItemsin classAllNodeVisitor
-
visitPathItem
public void visitPathItem(OpenApiPathItem node)
- Specified by:
visitPathItemin interfaceOpenApiVisitor- Overrides:
visitPathItemin classAllNodeVisitor
-
visitResponses
public void visitResponses(OpenApiResponses node)
- Specified by:
visitResponsesin interfaceOpenApiVisitor- Overrides:
visitResponsesin classAllNodeVisitor
-
visitChannelItem
public void visitChannelItem(AsyncApiChannelItem node)
- Specified by:
visitChannelItemin interfaceAsyncApi20Visitor- Specified by:
visitChannelItemin interfaceAsyncApi21Visitor- Specified by:
visitChannelItemin interfaceAsyncApi22Visitor- Specified by:
visitChannelItemin interfaceAsyncApi23Visitor- Specified by:
visitChannelItemin interfaceAsyncApi24Visitor- Specified by:
visitChannelItemin interfaceAsyncApi25Visitor- Specified by:
visitChannelItemin interfaceAsyncApi26Visitor- Overrides:
visitChannelItemin classAllNodeVisitor
-
visitServer
public void visitServer(Server node)
- Specified by:
visitServerin interfaceAsyncApiVisitor- Specified by:
visitServerin interfaceOpenApi30Visitor- Specified by:
visitServerin interfaceOpenApi31Visitor- Overrides:
visitServerin classAllNodeVisitor
-
visitServerVariable
public void visitServerVariable(ServerVariable node)
- Specified by:
visitServerVariablein interfaceAsyncApiVisitor- Specified by:
visitServerVariablein interfaceOpenApi30Visitor- Specified by:
visitServerVariablein interfaceOpenApi31Visitor- Overrides:
visitServerVariablein classAllNodeVisitor
-
-