/**
 * Constructor.
 * @param {string} errorCode
 * @param {NodePath} nodePath
 * @param {string} property
 * @param {string} message
 * @param {ValidationProblemSeverity} severity
 * @class
 * @author eric.wittmann@gmail.com
 */
var ValidationProblem = /** @class */ (function () {
    function ValidationProblem(errorCode, nodePath, property, message, severity) {
        if (this.errorCode === undefined)
            this.errorCode = null;
        if (this.nodePath === undefined)
            this.nodePath = null;
        if (this.property === undefined)
            this.property = null;
        if (this.message === undefined)
            this.message = null;
        if (this.severity === undefined)
            this.severity = null;
        this.errorCode = errorCode;
        this.nodePath = nodePath;
        this.property = property;
        this.message = message;
        this.severity = severity;
    }
    /**
     * @see io.apicurio.datamodels.core.models.IVisitable#accept(io.apicurio.datamodels.core.visitors.IVisitor)
     * @param {*} visitor
     */
    ValidationProblem.prototype.accept = function (visitor) {
        visitor.visitValidationProblem(this);
    };
    return ValidationProblem;
}());
export { ValidationProblem };
ValidationProblem["__class"] = "io.apicurio.datamodels.core.models.ValidationProblem";
ValidationProblem["__interfaces"] = ["io.apicurio.datamodels.core.models.IVisitable"];
//# sourceMappingURL=ValidationProblem.js.map