/*
 * 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# project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */

package com.pullenti.ner.person;

/**
 * Результат нормализации короткого текста, где только персона
 */
public class PersonNormalData {

    /**
     * Создать и обработать текст
     * @param txt текст с ФИО персоны, если они в разных полях ввода, то разделять переходом на новую строку
     */
    public PersonNormalData(String txt) throws Exception {
        if (txt != null) 
            com.pullenti.ner.person.internal.PersonNormalHelper.analyze(this, txt, null);
    }

    /**
     * Фамилия
     */
    public String lastname;

    /**
     * Фамилия дополнительно (наприимер, до замужества)
     */
    public String lastnameAlt;

    /**
     * Имя
     */
    public String firstname;

    /**
     * Имя альтернативное (исходное уменьшительное, когда в Firstname восстановленное полное)
     */
    public String firstnameAlt;

    /**
     * Отчество
     */
    public String middlename;

    /**
     * Пол (1 - мужчина, 2 - женщина)
     */
    public int gender = 0;

    /**
     * Тип результата
     */
    public PersonNormalResult resTyp = PersonNormalResult.UNDEFINED;

    /**
     * Коэффициент качества (100 - идеальное)
     */
    public int coef;

    /**
     * Сообщение об ошибке (если есть)
     */
    public String errorMessage;

    /**
     * Откорректированные слова. 
     * Ключ - исходного слово, Значение - коррекция
     */
    public java.util.HashMap<String, String> corrWords = new java.util.HashMap<String, String>();

    @Override
    public String toString() {
        return (((Integer)coef).toString() + " (" + resTyp.toString() + "): " + ((lastname != null ? lastname : "")) + " " + ((firstname != null ? firstname : "")) + " " + ((middlename != null ? middlename : "")));
    }
    public PersonNormalData() {
    }
}
