/*
 * SDK Pullenti Lingvo, version 4.33, fabruary 2026. Copyright (c) 2013-2026, Pullenti. All rights reserved. 
 * Non-Commercial Freeware and Commercial Software.
 * This class is generated using the converter Unisharping (www.unisharping.ru) from Pullenti C#.NET project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */


const Termin = require("./../../core/Termin");
const PersonAttrTerminType2 = require("./PersonAttrTerminType2");
const PersonAttrTerminType = require("./PersonAttrTerminType");

class PersonAttrTermin extends Termin {
    
    constructor(v, _lang = null) {
        super(null, _lang, false);
        this.typ = PersonAttrTerminType.OTHER;
        this.typ2 = PersonAttrTerminType2.UNDEFINED;
        this.canBeUniqueIdentifier = false;
        this.canHasPersonAfter = 0;
        this.canBeSameSurname = false;
        this.canBeIndependant = false;
        this.isBoss = false;
        this.isKin = false;
        this.isMilitaryRank = false;
        this.isNation = false;
        this.isPost = false;
        this.isProfession = false;
        this.isDoubt = false;
        this.initByNormalText(v, _lang);
    }
    
    static _new3231(_arg1, _arg2) {
        let res = new PersonAttrTermin(_arg1);
        res.typ = _arg2;
        return res;
    }
    
    static _new3232(_arg1, _arg2, _arg3) {
        let res = new PersonAttrTermin(_arg1, _arg2);
        res.typ = _arg3;
        return res;
    }
    
    static _new3233(_arg1, _arg2, _arg3) {
        let res = new PersonAttrTermin(_arg1);
        res.typ = _arg2;
        res.gender = _arg3;
        return res;
    }
    
    static _new3234(_arg1, _arg2, _arg3, _arg4) {
        let res = new PersonAttrTermin(_arg1, _arg2);
        res.typ = _arg3;
        res.gender = _arg4;
        return res;
    }
    
    static _new3242(_arg1, _arg2, _arg3, _arg4) {
        let res = new PersonAttrTermin(_arg1);
        res.canonicText = _arg2;
        res.typ2 = _arg3;
        res.typ = _arg4;
        return res;
    }
    
    static _new3243(_arg1, _arg2, _arg3, _arg4, _arg5) {
        let res = new PersonAttrTermin(_arg1, _arg2);
        res.canonicText = _arg3;
        res.typ2 = _arg4;
        res.typ = _arg5;
        return res;
    }
    
    static _new3248(_arg1, _arg2, _arg3) {
        let res = new PersonAttrTermin(_arg1);
        res.typ2 = _arg2;
        res.typ = _arg3;
        return res;
    }
    
    static _new3249(_arg1, _arg2, _arg3, _arg4) {
        let res = new PersonAttrTermin(_arg1, _arg2);
        res.typ2 = _arg3;
        res.typ = _arg4;
        return res;
    }
    
    static _new3268(_arg1, _arg2, _arg3, _arg4) {
        let res = new PersonAttrTermin(_arg1);
        res.canonicText = _arg2;
        res.typ = _arg3;
        res.typ2 = _arg4;
        return res;
    }
    
    static _new3270(_arg1, _arg2, _arg3, _arg4) {
        let res = new PersonAttrTermin(_arg1);
        res.typ2 = _arg2;
        res.typ = _arg3;
        res.lang = _arg4;
        return res;
    }
    
    static _new3275(_arg1, _arg2, _arg3) {
        let res = new PersonAttrTermin(_arg1);
        res.typ = _arg2;
        res.lang = _arg3;
        return res;
    }
}


module.exports = PersonAttrTermin