/// <summary> /// Visits <see cref="IOpenApiExtension"/> /// </summary> internal void Walk(IOpenApiExtension extension) { if (extension == null) { return; } _visitor.Visit(extension); }
/// <summary> /// Add extension into the Extensions /// </summary> /// <typeparam name="T"><see cref="IOpenApiExtensible"/>.</typeparam> /// <param name="element">The extensible Open API element. </param> /// <param name="name">The extension name.</param> /// <param name="any">The extension value.</param> public static void AddExtension <T>(this T element, string name, IOpenApiExtension any) where T : IOpenApiExtensible { if (element == null) { throw Error.ArgumentNull(nameof(element)); } if (string.IsNullOrWhiteSpace(name)) { throw Error.ArgumentNullOrWhiteSpace(nameof(name)); } if (!name.StartsWith(OpenApiConstants.ExtensionFieldNamePrefix)) { throw new OpenApiException(string.Format(SRResource.ExtensionFieldNameMustBeginWithXDash, name)); } element.Extensions[name] = any ?? throw Error.ArgumentNull(nameof(any)); }
/// <summary> /// Execute validation rules against an <see cref="IOpenApiExtension"/> /// </summary> /// <param name="item">The object to be validated</param> public override void Visit(IOpenApiExtension item) => Validate(item, item.GetType());
/// <summary> /// Visits <see cref="IOpenApiExtension"/> /// </summary> public virtual void Visit(IOpenApiExtension openApiExtension) { }
public override void Visit(IOpenApiExtension openApiExtension) { EncodeCall(); base.Visit(openApiExtension); }
/// <summary> /// /// </summary> public IList <IValidate> Build(IOpenApiExtension openApiExtension) => Rules;