Class OasInvalidPropertyNameRule
- java.lang.Object
-
- io.apicurio.datamodels.models.visitors.AllNodeVisitor
-
- io.apicurio.datamodels.validation.ValidationRule
-
- io.apicurio.datamodels.validation.rules.invalid.name.OasInvalidPropertyNameRule
-
- All Implemented Interfaces:
AsyncApi20Visitor,AsyncApi21Visitor,AsyncApi22Visitor,AsyncApi23Visitor,AsyncApi24Visitor,AsyncApi25Visitor,AsyncApi26Visitor,AsyncApi30Visitor,AsyncApiVisitor,OpenApi20Visitor,OpenApi30Visitor,OpenApi31Visitor,OpenApiVisitor,CombinedVisitor,TraversingVisitor,Visitor
- Direct Known Subclasses:
OasDuplicatePathSegmentRule,OasEmptyPathSegmentRule,OasIdenticalPathTemplateRule,OasInvalidCallbackDefinitionNameRule,OasInvalidExampleDefinitionNameRule,OasInvalidHeaderDefinitionNameRule,OasInvalidHttpResponseCodeRule,OasInvalidLinkDefinitionNameRule,OasInvalidParameterDefNameRule,OasInvalidPathSegmentRule,OasInvalidRequestBodyDefinitionNameRule,OasInvalidResponseDefNameRule,OasInvalidSchemaDefNameRule,OasInvalidScopeNameRule,OasInvalidSecuritySchemeNameRule,OasUnmatchedEncodingPropertyRule,OasUnmatchedExampleTypeRule
public abstract class OasInvalidPropertyNameRule extends ValidationRule
Base class for all Invalid Property Name rules.- Author:
- eric.wittmann@gmail.com
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.apicurio.datamodels.validation.ValidationRule
ValidationRule.PathSegment
-
-
Field Summary
-
Fields inherited from class io.apicurio.datamodels.validation.ValidationRule
traversalContext
-
-
Constructor Summary
Constructors Constructor Description OasInvalidPropertyNameRule(ValidationRuleMetaData ruleInfo)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<String>findDuplicateParametersInPath(List<ValidationRule.PathSegment> pathSegments)Finds path segments that are duplicates i.e. they have the same formal name used across multiple segments.protected List<ValidationRule.PathSegment>findEmptySegmentsInPath(List<ValidationRule.PathSegment> pathSegments)Finds all occurences of path segments that are empty.protected booleanisValidDefinitionName(String name)Returns true if the definition name is valid.protected booleanisValidScopeName(String scope)Returns true if the scope name is valid.-
Methods inherited from class io.apicurio.datamodels.validation.ValidationRule
array, equals, getDefinitionName, getEncodingName, getMappedNodeName, getOperationMethod, getPathSegments, getPathTemplate, getStatusCode, hasValue, isDefined, isDefinition, isNullOrUndefined, isPathWellFormed, isValidCommonMark, isValidEmailAddress, isValidEnumItem, isValidForType, isValidGFM, isValidHttpCode, isValidMimeType, isValidUrl, isValidUrlTemplate, map, report, reportIf, reportIfInvalid, reportPathError, setReporter, setTraversalContext, visitNode
-
Methods inherited from class io.apicurio.datamodels.models.visitors.AllNodeVisitor
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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.apicurio.datamodels.models.visitors.Visitor
visitContact, visitDocument, visitExternalDocumentation, visitInfo, visitLicense, visitOperation, visitParameter, visitSchema, visitSecurityScheme, visitTag
-
-
-
-
Constructor Detail
-
OasInvalidPropertyNameRule
public OasInvalidPropertyNameRule(ValidationRuleMetaData ruleInfo)
Constructor.- Parameters:
ruleInfo-
-
-
Method Detail
-
isValidDefinitionName
protected boolean isValidDefinitionName(String name)
Returns true if the definition name is valid.- Parameters:
name-
-
isValidScopeName
protected boolean isValidScopeName(String scope)
Returns true if the scope name is valid.- Parameters:
scope-
-
findEmptySegmentsInPath
protected List<ValidationRule.PathSegment> findEmptySegmentsInPath(List<ValidationRule.PathSegment> pathSegments)
Finds all occurences of path segments that are empty. i.e. they neither have a prefix nor a path variable within curly braces.- Parameters:
pathSegments-
-
findDuplicateParametersInPath
protected List<String> findDuplicateParametersInPath(List<ValidationRule.PathSegment> pathSegments)
Finds path segments that are duplicates i.e. they have the same formal name used across multiple segments. For example, in a path like /prefix/{var1}/{var1}, var1 is used in multiple segments.- Parameters:
pathSegments-
-
-