var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
import { OasDataModelReaderDispatcher } from '../../io/OasDataModelReaderDispatcher';
/**
 * Constructor.
 * @param {*} json
 * @param {Oas20DataModelReader} reader
 * @class
 * @extends OasDataModelReaderDispatcher
 * @author eric.wittmann@gmail.com
 */
var Oas20DataModelReaderDispatcher = /** @class */ (function (_super) {
    __extends(Oas20DataModelReaderDispatcher, _super);
    function Oas20DataModelReaderDispatcher(json, reader) {
        return _super.call(this, json, reader) || this;
    }
    /**
     * Casts the reader.
     * @return {Oas20DataModelReader}
     * @private
     */
    /*private*/ Oas20DataModelReaderDispatcher.prototype.oas20Reader = function () {
        return this.reader;
    };
    /**
     * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitItems(io.apicurio.datamodels.openapi.v2.models.Oas20Items)
     * @param {Oas20Items} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitItems = function (node) {
        this.oas20Reader().readItems(this.json, node);
    };
    /**
     * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitScopes(io.apicurio.datamodels.openapi.v2.models.Oas20Scopes)
     * @param {Oas20Scopes} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitScopes = function (node) {
        this.oas20Reader().readScopes(this.json, node);
    };
    /**
     * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitSecurityDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20SecurityDefinitions)
     * @param {Oas20SecurityDefinitions} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitSecurityDefinitions = function (node) {
        this.oas20Reader().readSecurityDefinitions(this.json, node);
    };
    /**
     * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20Definitions)
     * @param {Oas20Definitions} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitDefinitions = function (node) {
        this.oas20Reader().readDefinitions(this.json, node);
    };
    /**
     * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitParameterDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20ParameterDefinitions)
     * @param {Oas20ParameterDefinitions} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitParameterDefinitions = function (node) {
        this.oas20Reader().readParameterDefinitions(this.json, node);
    };
    /**
     * @see io.apicurio.datamodels.openapi.visitors.IOasVisitor#visitExample(io.apicurio.datamodels.core.models.common.IExample)
     * @param {*} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitExample = function (node) {
        this.oas20Reader().readExample(this.json, node);
    };
    /**
     * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitHeaders(io.apicurio.datamodels.openapi.v2.models.Oas20Headers)
     * @param {Oas20Headers} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitHeaders = function (node) {
        this.oas20Reader().readHeaders(this.json, node);
    };
    /**
     * @see io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor#visitResponseDefinitions(io.apicurio.datamodels.openapi.v2.models.Oas20ResponseDefinitions)
     * @param {Oas20ResponseDefinitions} node
     */
    Oas20DataModelReaderDispatcher.prototype.visitResponseDefinitions = function (node) {
        this.oas20Reader().readResponseDefinitions(this.json, node);
    };
    return Oas20DataModelReaderDispatcher;
}(OasDataModelReaderDispatcher));
export { Oas20DataModelReaderDispatcher };
Oas20DataModelReaderDispatcher["__class"] = "io.apicurio.datamodels.openapi.v2.io.Oas20DataModelReaderDispatcher";
Oas20DataModelReaderDispatcher["__interfaces"] = ["io.apicurio.datamodels.core.visitors.IVisitor", "io.apicurio.datamodels.openapi.v2.visitors.IOas20Visitor", "io.apicurio.datamodels.openapi.visitors.IOasVisitor"];
//# sourceMappingURL=Oas20DataModelReaderDispatcher.js.map